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编译工程可以通过!
这是我探索了好几天才找到的方法,已验证过,如果有疑问可以评论里咨询我!
后来经过研究用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编译工程可以通过!
这是我探索了好几天才找到的方法,已验证过,如果有疑问可以评论里咨询我!
相关文章推荐
- Windows下使用MinGW编译生成的PBC库
- Windows下使用MinGW+msys编译ffmpeg-2.6.3,没生成ffplay.exe
- 在Windows下用MinGW编译OpenSSL,及OpenSSL静态链接库libcrypto.a使用问题
- Windows下编译sqlite3生成动态链接库并使用
- 在Windows中使用MinGW编译X264
- windows下使用MinGW+msys编译ffmpeg
- Windows系统使用minGW+msys 编译ffmpeg 0.5的全过程详述
- windows 下使用MinGW编译PBC库
- windows下使用MinGW+msys编译ffmpeg
- Windows 系统下使用 MinGW + MSYS + GCC 编译 FFMPEG
- 使用mingw编译支持openssl 的 libcurl(windows下)
- windows下使用MinGW+msys编译ffmpeg
- cscope在windows下使用mingw编译的方法
- Windows系统使用minGW+msys 编译ffmpeg 0.5的全过程详述
- Windows系统使用minGW+msys 编译ffmpeg 0.5的全过程详述
- 在Windows下编译sqlite3生成动态链接库并使用之
- [转]cscope在windows下使用mingw编译的方法
- 在windows下使用MinGW编译ffmpeg0.6