1安装Cmake与配置protobuf-3.8.0
默认安装Cmake,尽量安装在D盘安装在C盘时常报错
打开CMAKE
打开cmake之后如何把protobuf-3.8.0移动到D盘如
在创建一个空目录protobuf
把上面目录依次复制到下图匡
第一次点击Configure 如果不确认可以先点击Configure 和Generate这两个按键
知道出现配置完成Configuring done和Generating done即可然后在打开protobuf目录!
然后
点击这个因为protobuf版本的原因最高只能使用vs2017(32位/切记一定要下载32位的vs,否者库会不兼容)如版本更高请更换为2017,我试了2022版本多次没有成功
生成成功之后无任何警告或者报错(如下两图)
protoc.exe找到目录所在
2设置环境变量
protoc.exe找到此文件的目录然后设置环境变量
点击确定然后重启电脑使环境变量生效
编写persion.proto
然后打开(此工具应该是安装protobuf或者cmake时附带的如果不是,请自行百度)
进入Persion.proto文件所在的目录(与linux命令相同)
3.生成一个.h和.c文件
cd进入Persion.proto所在的目录执行ls查看是否有该文件确认之后在执行
protoc .\Persion.proto --cpp_out=./ 该命令会在Persion.proto所在的目录下生成一个.h和.c文件
以下是我生成的文件
做完以上步骤之后我创建一个c++项目让后测试一下序列化之后能否正常使用
4.配置添加头文件与库
(步骤)创建protoTest点击添加源文件test.cpp然后把.c和.h文件复制到与test.cpp同一目录下(如下操作)
1.配置PROTOBUF_USE_DLLS
配置完成之后点击确定
2.配置头文件与库
如果cmake配置protobuf过于繁琐导致有些文件找不到比如头文件和库,自己寻找的话肯定需要一定的时间
我们这边偷个懒,把前辈们的头文件和库文件复制过来随便找个地方放着我放在桌面
然后把头文件目录复制C:\Users\emo\Desktop\protobuf\include
再把库目录复制C:\Users\emo\Desktop\protobuf\lib
分别添加到
确定即可
最后在进入库目录找到libprotobufd.lib文件
复制文件名
确定即可
5.测试生成的.c与.h文件是否可以在vs下使用
编辑test.cpp文件
点击运行
即可生成序列化之后的字符串在从序列化的字符串中解出原信息并没有报错
但是错误列表会有EO145报错不过没关系只要能序列化完成即可
序列化与反序列化输出示例