qBreakpad在Linux下的编译和使用

1 篇文章 0 订阅

Google家的Breakpad因为其跨平台的特性,在崩溃信息收集上报方面有着挺广泛的应用。但是在Qt有一个更好的封装库,该库将Breakpad多进行了一层的封装,使得开发者仅需进行一次编写,代码就可以处处运行。当然,不同的平台还是需要分别的编译的。
现在qBreakpad的官方readme有点过期,并且说的也不是很详细,所以此处就着重讲一下Linux平台下的编译吧。

  • clone源代码
git clone --recursive https://github.com/buzzySmile/qBreakpad.git

加上递归clone的选项后,就不再需要去单独的下载Breakpad

  • 编译
    编译是比较麻烦的地方,也困扰了我好一段时间。

clone下来后的仓库会有一个handler的文件夹,利用qtcreator打开其中的handler.pro文件,而后对其进行编译即可。
注意此处会有一个大问题。qtcreator会提示无法找到执行档。我被卡在这个地方好一会儿,但如果此时去查看编译输出,可以看到编译器正常退出了。原因在于,我们此处编译的是库,并不是一个可执行文件,所以qtcreator就找不到一个入口去执行程序,就会提示我们无法找到执行档。其实此时是已经完成编译的了。
之后我们在编译输出文件夹里找到qBreakpad.a文件,将该文件复制到handler下,整个编译工作就算完成了。因为有pro文件存在的缘故,故在windowmac下,情况应该是一样的。(此处以后再去做尝试)
此处额外说一句,第一级目录下的qBreakpad.pro是作者编写的一个完整的示例程序,该工程包含了qBreakpad的用法,有兴趣可以看看。当然,需要在完成上述的编译流程之后才可以使用。

  • 使用

qBreakpad是当做一个第三方库来引入现有的Qt程序中的,作者已经给我们编写好了pri文件,所以我们只需要在pro文件中添加一句对其引用的语句即可。如下

include(libs/qBreakpad/qBreakpad.pri)

而后直接在main.cpp中引用#include "QBreakpadHandler.h"。可以的话,在main函数的开头使用即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值