利用Qt中的mingw编译Protocol buffer

下载地址:
https://github.com/protocolbuffers/protobuf/releases

目前最新版是Protocol Buffers v3.12.0-rc2
经测试在windows上,用Qt Creator5.14.1自带的Mingw32 7.5版本编译会有错误:

mingw32-make[2]: *** [CMakeFiles\libprotobuf-lite.dir\build.make:63: CMakeFiles/libprotobuf-lite.dir/E_/protobuf-cpp-3.12.0-rc-2/protobuf-3.12.0-rc-2/src/google/protobuf/any_lite.cc.obj] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:78: CMakeFiles/libprotobuf-lite.dir/all] Error 2
mingw32-make: *** [Makefile:129: all] Error 2

于是用它的上一个版本:Protocol Buffers v3.11.4
经测试可以编译过了,于是记录利用Qt中自带的mingw编译Protocol buffer的经历:
第一步:https://github.com/protocolbuffers/protobuf/releases
下载
在这里插入图片描述
下载的是cpp版本,all版本应该也可以。

第二步:解压

在这里插入图片描述
新建一个build文件夹,这样cmake生成的一些东西就会到这个build文件夹中;新建一个install目录,最后编译生成的头文件和库文件会自动安装到这个目录。

第三步:添加(检查环境变量


这一步非常关键
在这里插入图片描述
将Qt安装目录中的D:\Qt\Qt5.14.1\Tools\mingw730_64\bin
添加到环境变量中,尽量让它上移动(避免后面的CMake找到其他的编译器)

第四步:cmake编译出工程

选择我们刚才解压的cmake目录,和build生成文件存放目录,看下图:

在这里插入图片描述
点击Configure:
在这里插入图片描述
如果你没有看到MinGW,就去检查环境变量是否配置了,像我这样(D:\Qt\Qt5.14.1\Tools\mingw730_64\bin)这个目录根据个人的Qt安装路径而定。

选择MingGW Makefiles,点击Finish

编译动态库版本

在这里插入图片描述
如上图所示勾选的就是生成动态库版本。
说明:protobuf_WITH_ZLIB默认是勾选的,但是如果我们的电脑没有安装zlib库,只会有提示,不影响最终的库生成。
会报一个这样的错误提示,但是没关系。

Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 

把protobuf_BUILD_TESTS勾选去掉,否则非常久,而且还会报下面的错误:

[ 92%] Linking CXX executable tests.exe
CMakeFiles\tests.dir/objects.a(map_tes
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值