目录
1. 资料准备
- CMake Download | CMake
https://cmake.org/download/
- Protobuf源码 Releases · protocolbuffers/protobuf · GitHub
https://github.com/protocolbuffers/protobuf/releases
(注意:根据需要选择版本,老版本开发环境会不支持新的protobuf)
2. 搭建流程概述
- 使用CMake构建工程,生成工程文件
- 使用目标开发环境编译CMake生成的工程,生成依赖库以及可执行文件
- 将依赖库配置到目标工程的开发环境
3. 环境搭建方法
- 安装cmake(注意:添加环境变量)
- 解压protobuf源码
- 使用CMake构建工程
- 添加Where is the source code:
- 在源码同级建立一个protobuf-build的文件夹,用于存放CMake生成的工程
- 在Where to build the binaries:中填入刚才建立的文件夹
- 点击左下方Configure,选择配置的VS(Eclipse)版本(注意:此时会在下方生成信息。一定注意报错信息,否则会失败,上方列表如果变红,则存在错误,此时即使生成工程,也会导致工程无法正常编译)
- 取消protobuf_MVSC_STATIC_TEST的勾选,再次点击Configure,提示信息无错
- 点击右下角Generate
- 打开工程
- For VS 点击Open Project
- For Eclipse 打开eclipse打开3.2中文件夹中包含的工程
- 打开CMake构建的工程
- For VS可以看到打开的VS解决方案
- 后期的需要使用的工程需要做到以下几项完全一致,否则会出错(配置、平台、字符集、运行库)
- 右键点击解决方案build,等待build结束
- 打开在3.2中建立的文件夹protobuf-build,找到一个.bat的批处理文件双击打开,会生成.h的集合文件夹include,将文件夹拷到目标工程
- 打开Debug/Release文件夹,找到protoc.exe和libprotobufd.lib这两个文件,libprotobufd.lib拷到目标工程,protoc.exe则用来生成pb.cc/.h
- For eclipse
- 右键点击解决方案build,等待build结束
- 打开Debug/Release文件夹,找到protoc.exe和libprotobufd.lib这两个文件,libprotobufd.lib拷到目标工程,protoc.exe则用来生成pb.cc/.h
- 这时会发现缺少include文件夹,可以使用VS的批处理文件,或者直接包含源码的src(不建议)
- For VS可以看到打开的VS解决方案
- 至此,依赖的.lib与include,生成pb.cc/h的工具都已生成,下面配置目标工程开发环境
- 添加include到包含
- 添加lib到链接
- 使用cmd工具打开protoc.exe生成目标pb.cc/.h并加入工程
4. 常见问题汇总