sentry-native 在 windows 平台上搭建
官方文档:https://github.com/getsentry/sentry-native
虽说官方文档有搭建步骤,奈何我用 git bash 试了 n 遍,最终都会报一大堆错误,白白浪费了我快一个下午的时间
最终找到了一位大哥的博客,里面也介绍了他遇到的坑,跟随他的方法,编译成功了
遂把一些更为详尽的步骤记录下来,供有 sentry 搭建需求的友友参考
sentry-native 版本:0.4.15
- 打开 CMake Gui 程序,千万不用要 command 窗口编译,一堆错误
- 输入源文件路径和输出的编译路径,注意:如果你的项目是 x86 的话,在填输出的编译路径时会提醒你是否选择 win32
- 先点击页面左下角的 Configure 按钮,会自动生成相应的选项

改下 SENTRY_BACKEND 的 Value 为 breakpad,并且不要勾选 SENTRY_BUILD_SYSTEM

最后可以再点击 Configure,没啥问题后点击 Generate 生成 breakpad 的工程文件,如下

- 确定生成了 breakpad 的工程文件,在 CMake Gui 页面上选择打开 Project 的工具,我这里使用的 vs2019

- 使用 Release 版本编译后,会发现两个错误,将它们注释即可


- 再重新编译就 OK 了,生成的 lib 文件和 dll 文件在项目文件下

- 接下来就可以在你自己的项目中配置 sentry 的头文件和库文件,注意在配置完相关路径后,还是需要添加静态链接才可以
#pragma comment(lib, "sentry.lib")
注意:如果是使用 breakpad 编译的 dll,在程序崩溃时是无法抓到错误日志的,需要使用 crashpad 创建 dll
编译过程:我们需要先在 crashpad_build 文件中打开工程,编译出 sentry_native 项目需要的静态文件库

最后再打开 sentry_native.sln

在 crashpad.sln 的编译过程中会出现很多 warning C4819 错误,我这边的解决方法是把错误的源文件的编码格式使用 notepad++ 一一改成 UTF8-BOM 即可解决
补充:
对于之前介绍的错误,特别是 sentry 附带的 example 在编译后会因字符报错,这边我们可以取消勾选 SENTRY_BUILD_EXAMPLES 和 SENTRY_BUILD_TESTS

对于 warning C4819 错误,因为涉及到的文件太多了,我们可以在编译器中将警告视为错误改为否

如果需要编译静态库,建议按照下面这个设定来,这样库跑起来不会依赖 VC 库了




sentry-native 在 windows 平台上搭建的更多相关文章
- Windows平台上使用Github搭建Git服务器的图文教程
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到通信协议,例如SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以 ...
- JMeter--二、在Windows环境上搭建wordpress
为了学习使用JMeter,在Windows环境上搭建了wordpress. 使用JMeter录制或是编写登录worepress.编辑文章.删除文章的脚本. 首先了解一下wordpress是什么? Wo ...
- 在Windows平台上安装Node.js及NPM模块管理
1. 下载Node.js官方Windows版程序:http://nodejs.org/#download 从0.6.1开始,Node.js在Windows平台上提供了两种安装方式,一是.MSI安 ...
- [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySql+PHP) Part II
接着上一节继续搭建我们的LNMP平台,接下来我们安装PHP相关的服务 sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5- ...
- [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySQL+PHP) Part IV
接下来我们去下载 WorePress 用最新的 3.7.1 下载地址是:http://cn.wordpress.org/wordpress-3.7.1-zh_CN.zip 我们先建立一个文件夹 /va ...
- Windbg是windows平台上强大的调试器
基础调试命令 - .dump/.dumpcap/.writemem/!runaway Windbg是windows平台上强大的调试器,它相对于其他常见的IDE集成的调试器有几个重要的优势, Windb ...
- 分享一些 Windows 平台上的神器
下面分享一些 Windows 平台上日常开发使用的软件,有些软件我自认为是神器,可以大大提高效率. 编辑器类软件 IntelliJ IDEA IntelliJ IDEA 内部集成 Java 开发环境, ...
- MySQL 在Windows平台上的安装及实例多开
MySQL在Windows平台上的安装及实例多开 by:授客 QQ:1033553122 测试环境 Win7 64 mysql-5.7.20-winx64.zip 下载地址: https://cd ...
- 如何在微软Windows平台上打造出你的Linux开发环境(转载)
如何在微软Windows平台上打造出你的Linux开发环境 投递人 itwriter 发布于 2013-12-10 11:18 评论(1) 有348人阅读 原文链接 [收藏] « » 英文原文: ...
- 在windows平台上构建自己的PHP(php5.3+)
这是一篇翻译的文章,原文参见:https://wiki.php.net/internals/windows/stepbystepbuild 顺便提一句,wiki.php.net有很多精彩的内容,想深入 ...
随机推荐
- 【转帖】MySQL 8.0.32如期而至
MySQL 8.0版本计划 MySQL 8.0开始采用快速迭代开发模式,基本上是每隔3个月就发布一个新的小版本.去年1月18日(2022.1.18)发布MySQL 8.0.28,今年1月17日发布My ...
- [转帖]Arm发布CortexX4,功耗可降低40%
https://www.eet-china.com/mp/a224124.html ARM 发布了新一代的移动处理器内核,包括 Cortex-X4.Cortex-A720.Cortex-A520,预计 ...
- [转帖]linux 磁盘队列深度nr_requests 和 queue_depth
linux 磁盘队列深度nr_requests 和 queue_depth nr_requests 和 queue_depth 修改配置值 nr_requests 和 queue_depth 区别 i ...
- express学会CRUD
使用express 搭建项目 1==> express 项目名 -e 2==> 然后按照提示就可以了 cd 项目名 3==>进入项目 下载依赖 cnpm i 4==>启动项目 ...
- 【小优化】golang中取两个字符串的公共前缀的长度
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 在VM的merge部分的代码中发现这样一个函数: func ...
- Couldn't launch Python exit code 9009
Couldn't launch Python exit code 9009 start stable-diffusion-webui,发现,python 环境没有,我本地其实是已经安装完毕的,后来发现 ...
- PostgreSQL中的B-TREE索引
分析了解pgsql中的索引 前言 索引 B-tree B-Tree和B+Tree的区别: pgsql中B-Tree 实现 如果该节点不是最右节点 如果该节点是最右节点 参考 分析了解pgsql中的索引 ...
- SqlSugar的Select用法
Select 位置 正常情况:应该在最后面, 一般是 .Where(..).OrderBy(..).Select(..).ToList() 特殊情况:如果Select不是最后一个位置,则Select要 ...
- paddleNLP-BUG和一些细节记录【一】
1.TypeError: isfile() takes 1 positional argument but 2 were given File "/root/miniconda3/envs/ ...
- 20.5 OpenSSL 套接字RSA加密传输
RSA算法同样可以用于加密传输,但此类加密算法虽然非常安全,但通常不会用于大量的数据传输,这是因为RSA算法加解密过程涉及大量的数学运算,尤其是模幂运算(即计算大数的幂模运算),这些运算对于计算机而言 ...