sentry-native 在 windows 平台上搭建

本文分享了作者在搭建Sentry Native时遭遇的困难,包括错误排查与解决,特别提到了使用breakpad编译和crashpad创建dll的过程。详细步骤包括CMake配置、错误处理及编译技巧,旨在帮助读者避免常见坑点。
摘要由CSDN通过智能技术生成

官方文档:https://github.com/getsentry/sentry-native 

虽说官方文档有搭建步骤,奈何我用 git bash 试了 n 遍,最终都会报一大堆错误,白白浪费了我快一个下午的时间

最终找到了一位大哥的博客,里面也介绍了他遇到的坑,跟随他的方法,编译成功了

遂把一些更为详尽的步骤记录下来,供有 sentry 搭建需求的友友参考

sentry-native 版本:0.4.15

  1. 打开 CMake Gui 程序,千万不用要 command 窗口编译,一堆错误
  2. 输入源文件路径和输出的编译路径,注意:如果你的项目是 x86 的话,在填输出的编译路径时会提醒你是否选择 win32
  3. 先点击页面左下角的 Configure 按钮,会自动生成相应的选项
  4.  

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

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

  7. 确定生成了 breakpad 的工程文件,在 CMake Gui 页面上选择打开 Project 的工具,我这里使用的 vs2019
  8. 使用 Release 版本编译后,会发现两个错误,将它们注释即可
  9. 再重新编译就 OK 了,生成的 lib 文件和 dll 文件在项目文件下
  10. 接下来就可以在你自己的项目中配置 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 库了

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值