目录
- 一些名词
 - CMake构建VS工程
 - 下载protobuf源码
 - 下载CMake
 - 编译
 - QT中使用
 
- 方案二失败:CMake+QT自带的Mingw编译
 - 参考链接
 
一些名词
lib
 dll
 lib库实际上分为两种,一种是静态链接lib库或者叫做静态lib库,另一种叫做动态链接库dll库的lib导入库或称为lib导入库。
x86
 x64
 x86 一般指 32 位的架构,x64指64位架构。
make
 cmake
 qmake
 make工具,通过调用makefile文件中用户指定的命令来进行编译和链接。
 cmake工具,cmake就可以更加简单的生成makefile文件给make。
 qmake工具是Qt公司制造出来,用来生成Qt 专用makefile文件。
CMake构建VS工程
下载protobuf源码
https://github.com/protocolbuffers/protobuf
 https://github.com/protocolbuffers/protobuf/releases
 下载了protobuf-csharp-3.10.0.tar.gz
 
 
解压
下载CMake
本文选择最新版本的 3.28.0-rc4
 打开CMake GUI
 选择Browse Source为protobuf-3.10.0/cmake文件夹。
 任意位置新建一个build文件夹,Browse Build选择构建输出的文件夹。


CMake界面运行configure
需要先设置使用的project
 
 我选择了x64,根据自己的项目需求,选择x64 Win32 ARM之一
protobuf_BUILD_SHARED_LIBS:需选中该选项,则可编译动态链接库
 protobuf_WITH_ZLIB:取消选中该选项
 中间出错,取消选中ZLIB后正常。
CMake界面运行generate
 
 <CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required):
 Compatibility with CMake < 3.5 will be removed from a future version of
 CMake.
 这是一个Warning,由于文件中没有限制CMake版本限制,不管也可以运行。

 运行后,build中出现了工程文件
编译
打开protobuf.sln文件
 上方选择x64 Release
 

 右键,重新生成解决方案
 等待时间
在Release文件夹生成了
 
 也可以生成x64 Debug的
 
 

QT中使用
Release版本在QT使用方法
 
 
 pro文件中加入这些
 项目运行环境为 64bit Release
将dll文件拷贝至项目路径的Release文件夹下,可以正常运行。
 代码可参考
 史上最详细:Qt–编译配置Protobuf(windows10)
 
方案二失败:CMake+QT自带的Mingw编译
CMake config选择mingw makefile
参考链接
方案一
 史上最详细:Qt–编译配置Protobuf(windows10)
 
windows下CMake编译Protobuf
在 VS2019 中编译/使用 Protobuf
 (取消选中zlib很重要。生成没有参考教程,而是选择资源管理器生成)
方案二:失败
 Windows下Qt+minGW+CMake+opencv配置–方法总结、文件分享与排错分享
 使用MinGW
 QT中如何使用protobuf,配图详解
 MinGW
 cmake配置Qt的protobuf环境时出现Error in configuration process, project files may be invalid解决办法
MinGW-w64 C/C++编译器下载和安装
 (未参考,直接使用QT带的)



















