您的位置:首页 > 其它

windows编译生成protobuf库(使用minGW编译)

2017-06-21 15:18 2416 查看
我的前一篇博客写了windows10用VS编译protobuf库,成功生成了三个必须protobuf的静态库,但最后发现在Qt中链接protobuf库时总出现问题,不管Qt是MSVC还是minGW版本。
后来经过研究用minGW编译生成的protobuf静态库可以在minGW版本的Qt中使用。大致过程总结如下:

首先需要准备的资源:1、CMake;2、minGW;3、protobuf源码;4、Qt Creator (minGW版)

1、CMake的安装就不说了,网上很多教程;
2、minGW: 进官网https://sourceforge.net/projects/mingw/files/点击“Download mingw-get-setup.exe (86.5 kB)
即可进入下载界面,下载的是最新版;下载完双击.exe文件安装,过程中记得选择安装MSYS包!安装完成后,记得将c:\minGW\bin和c:\minGW\msys\1.0\bin添加到系统变量里。
3、protobuf源码在github上下载:https://github.com/google/protobuf 最好下载release版本,不然的话要自己安装gmock。
4、Qt Creator在Qt官网下载:要先注册一个账户,然后下载,进入官网后进入自己的账户,然后点击“DOWLOAD”可以选择相应的版本下载。

其次编译生成静态库:
1、用CMake GUI,选择MSYS Makefiles Generator编译;
2、运行MSYS脚本(在c:\minGW\msys\msys.bat),cd 到protobuf/cmake/build目录,运行命令make.exe,执行完成后即生成了三个protobuf静态库libprotobuf.a、libprotobuf-lite.a、libprotoc.a和protoc.exe,在protobuf\cmake\build目录下;
3、在Qt Creator工程中添加外部依赖库(把生成的三个protobuf静态库都填进去),然后容用Qt release编译工程可以通过!

这是我探索了好几天才找到的方法,已验证过,如果有疑问可以评论里咨询我!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  protobuf windows mingw