1.下载文件:
a.protocolbuf
b.cmake
a连接:Release Protocol Buffers v3.2.0 · protocolbuffers/protobuf · GitHub
b.连接:Download | CMake
主要流程:a.下载源码-->b.cmake生成vs工程-->c.vs编译(所需lib文件和protoc.exe)-->d.自己的.proto文件生成对应的.h和.cc文件-->e.引入自己的工程使用
安装CMake,具体细节参考CMake的安装(超级详细)_cmake安装_小码1111的博客-CSDN博客
下载好你的Protobuf,并找到以下两个路径:路径1和路径2
1、打开cmake并生成VS文件,依次操作1->2->3
中间会提示选择vs版本的对话框,本操作选择VS2013(前边下载的Protobuf3.2.0)
【注意】一定要勾选,基于QT框架还是尽量用Dll,lib库我试了一下可能会出错,Dll没问题。
2、vs编译(所需lib文件和protoc.exe)
在路径2 的Debug文件下 生成需要的静态库文件和proto.exe。
3、自己的.proto文件生(默认小白不清楚)
在生成的lib库目录下,新建文本文档自定义.proto文件内容
syntax = "proto2";
package mypb;
message helloworld
{
required int32 id = 1;
required string str = 2;
optional int32 opt=3;
}
a.定义完成后,将文本文档的后缀名直接修改为.proto;
b.同样在该目录下新建批处理文件,方法和.proto类似,也是先新建.txt文件,然后写入以下内容:
protoc --cpp_out=./ person.proto
最后修改后缀名为.bat
4、双击build.bat,会发现在当前目录下生成了一个.h+.cc文件。
5、将Debug中的文件分类,建立相应的文件夹(良好习惯):lib库放在lib文件夹,dll库+exe文件+生成的.h+.cc文件放到bin文件夹中,要将Protobuf\protobuf-3.2.0\src路径中的geogle文件放到新建的include文件夹中:
5、引入自己的工程使用
a、首先在属性中将输出目录修改为
b、其次在C++常规里引入include
c、在连接器的常规里加入lib库
d、还要将刚才生成的生成了一个.h+.cc文件也放入你的工程目录下,并把它以添加现有项的方式到你的程序中。
e、在person.pb.h头文件里加入#define PROTOBUF_USE_DLLS
6、至此protobuf的C++使用解决方案已全部完成,不足之处恳请指正
(连载注明出处)