个人项目中已用于数据库存储和文件存储。
1.下载protobuf源码
首先需要下载源码,选择C++版本。
解压到一个单独的文件夹protobuf_vision,并建立一个用于CMake编译输出的文件夹output;
文件夹protobuf-3.21.6内为源码,如图:
2.下载CMake
下载cmake,选择windows版本
解压到一个文件夹,双击打开cmake-gui.exe
3.编译protobuf源码
找到之前protobuf源码文件夹里的cmake路径和源码输出路径output;
点击config,选择项目版本(本人项目版本为vs2019 32位),如果是64位程序,则不用选第二个,为空默认为64位,点击finish,成功配置
勾选如图选项,
点击advanced,修改CMAKE_CXX_FLAGS值为-std=gnu++11;
点击Generate,生成解决方案
4.生成库文件
选择对应vs版本(本人版本为vs2019),打开输出文件夹中的解决方案,
选择Release版本,win32,同时选择libprotobuf,protoc,libprotoc,右键菜单,点击生成选定内容;
将刚刚生成的三个文件libprotobuf.lib,libprotoc.lib和protoc.exe拷贝到项目中,项目中创建单独的文件夹protobuf存放,
5.项目中支持protobuf
配置系统环境变量
打开cmd,输入命令:protoc -I=D:\Project\ProtobufTest\protobuf --cpp_out=D:\Project\ProtobufTest\protobuf Channel.proto,前一个路径为protoc.exe路径,后一个路径为生成文件的路径,生成在此目录下(.proto文件自己创建)
可以使用脚本自动生成
将文件Channel.pb.cc和Channel.pb.cc手动添加到项目中;
添加动态库到项目中(静态库可能会有问题)
将源码文件夹src复制放到工程中,并添加src文件夹路径,不然会找不到头文件
工程编译通过,完毕