安装windows下的gyp
python3 安装gyp
一般认为gyp只能在python 2.x中正常运行,实际上gyp提供了一个更新版本gyp-next,可以在python3中安装成功
python -m pip install gyp-next
安装成功后,命令窗口输出如下
Collecting gyp-next
Downloading gyp_next-0.4.0-py3-none-any.whl (335 kB)
|████████████████████████████████| 335 kB 297 kB/s
Installing collected packages: gyp-next
Successfully installed gyp-next-0.4.0
下载breakpad源码
在Git Shell窗口中输入
git clone https://github.com/google/breakpad.git
即可下载breakpad源代码,如果提示网络错误,就多试几次。
构建breakpad_client
cd breakpad\src\client\windows
gyp --no-circular-check -D win_release_RuntimeLibrary=2 -D win_debug_RuntimeLibrary=3
加入–no-circular-check参数是为了解决循环依赖问题。
/MT :0, /MTd: 1, /MD: 2, /MDd : 3
-D win_release_RuntimeLibrary=2 -D win_debug_RuntimeLibrary=3是为了输出/MD, /MDd的动态库,因为后续集成到cesium-terrain-builder用的是/MD, /MDd
生成工程成功后,输出信息为
Warning: Missing input files:
unittests\..\..\..\testing\googlemock\src\gmock-all.cc
unittests\..\..\..\testing\googletest\src\gtest_main.cc
unittests\..\..\..\testing\googletest\src\gtest-all.cc
但是这个信息只是表明没有googletest源码,实际上还是能生成breakpad_client的工程。
打开breakpad的vc工程,选择x64架构,生成解决方案。
集成到windows
手动准备breakpad的发布包,目录结构如下
include
lib
bin
头文件
手动拷贝src/下的三个文件夹到$(BREAKPAD_HOME)\include目录下,然后只保留.h文件
库文件
库文件中分为Debug/Release两个子目录
可执行文件
按同样方法编译tools,得到dump_syms.exe程序,用于分析minidump文件。生成好的文件放到bin目录中。