下载地址:
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