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有很多精彩的内容,想深入 ...
随机推荐
- [转帖]PostgreSQL中的schema和user
https://www.cnblogs.com/abclife/p/13905336.html postgresql中,用户创建的所有对象都被创建在指定的schema(或namespace)中.其他用 ...
- [转帖]MOUNTING AN S3 BUCKET ON WINDOWS AND LINUX
https://blog.spikeseed.cloud/mount-s3-as-a-disk/#mounting-an-s3-bucket-on-windows-server-2016 Wouldn ...
- [转帖]SQL Server数据库存储总结
SQL Server数据库存储文件类型:数据文件和日志文件.数据文件以页面作为存储单元存储数据. 页面:即数据页面,数据页(Page).是系统在磁盘间中分配的一段大小为8k的连续空间. 文件头(Fil ...
- [转帖]一问带你掌握通过storcli做RAID
因为系统不支持直接做raid,所以需要使用storcli这个工具来操作.首先把工具上传到服务器任意目录,并使用命令chmod +x storcli64修改文件权限为可执行. 另外可通过命令ln -s ...
- [转帖]linux 查看CPU 内存的信息
https://bbs.huaweicloud.com/blogs/302929 [摘要] ECS信息规格:2vCPUs | 4GiB | kc1.large.2镜像:openEuler 20.0 ...
- Vue3中hook的简单使用
创建文件夹 在src下创建文件夹.文件名称为hooks. hooks下的文件夹下,是你的封装的hook: 通过命名为useXXXXXX usexy.js 文件是封装的获取屏幕的坐标 import { ...
- package.json中^,~的详细说明
场景描述 在package.json这个文件中,我们经常可以看见这样的信息 但是我们很少注意的是 版本前面的 ^ 到底是什么意思 今天我们就来讲一下(端好小板凳) "dependencies ...
- echarts饼图的配置 封装组件的注意点
1==>tooltip 类似饰hover效果提示框组件.光标放上去会触发 2==>formatter // 饼图 {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比 ...
- 一个神奇的golang技巧:扩大heap内存来降低gc频率
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu 公众号:一本正经的瞎扯 具体的文章请看:https://web.archive.org/web/ ...
- Govulncheck v1.0.0 发布了!
原文在这里 原文作者:Julie Qiu, for the Go security team 发布于 13 July 2023 我们很高兴地宣布,govulncheck v1.0.0 已经发布,同时还 ...