工作中需要使用protobuf,看了一些大佬们的教程,总结出关于protobuf安装、编译和使用的详细步骤。本人小白,教程步骤非常细节,如有错误还望指出,谢谢呀!
此处成功编译运行的环境如下(2023年6月):
- Windows + Visual Studio 2019
- CMake 3.26.4
- Protobuf 3.21.12 (protoc版本须和Protobuf版本一致)
目录
下载Protobuf
到Protobuf官方Repo下载Protobuf cpp版本:
https://github.com/protocolbuffers/protobuf/releases?page=2
(注意,最新的版本可能不包含cpp版本,此处选择了版本3.21.12,如果下载最新all版本,按照以下流程走可能会在CMake configure时因为cmake文件夹中缺少CMakeLists.txt而报错。)
到上述链接找到Protocol Buffers v21.12,下载名为protobuf-cpp-3.21.12.zip文件解压,将文件夹protobuf-3.21.12移动到D盘。
下载protoc并配置环境变量
protoc是.proto文件的编译器,它可以将.proto文件生成你想要语言对应的类。如果protoc版本和protobuf版本不一致将会导致错误,因此还是到上述官方Repo下载protoc-21.12-win64.zip:
https://github.com/protocolbuffers/protobuf/releases?page=2
下载完成以后解压到D盘,然后将其中的bin路径D:\protoc-21.12-win64\bin添加到系统环境变量。具体操作方式是,点击Settings->System->About->Advanced system settings->Environment Variables,在System variables中点击名为PATH的变量,点击Edit->New,将路径D:\protoc-21.12-win64\bin粘贴进去,点击OK即可。
Win+R,cmd回车,输入protoc --version查看环境变量是否配好,如果出现版本号则证明成功配置了,如果报错就重启电脑再试试。
使用CMake生成Protobuf依赖库
首先确认电脑中是否已安装了CMake,Win+R输入cmd回车,输入cmake --version,输出版本号则证明已安装好(CMake的安装以及环境变量配置此处未提及)。