1、选择Release / x64; 2、CMakePredefinedTargets/ALL_BUILD右键生成开始编译; 3、编译完成后CMakePredefinedTargets/INSTALL右键生成开始安装。 安装完成后会在protobuf/install目录下生成动态库、头文件和proto可执行文件 2、使用 1、使用protobuf生成cpp文件 与linux环境下类似 2、工程构建 1、新建解决方案,新建项...
protoc -I=${proto_file_dir} --cpp_out=${pb_file_dir} *.proto 这里面有三个参数, -I 表示 proto 文件的路径; --cpp_out 表示输出路径; 最后一个参数表示需要被编译为 pb.h 和 pb.cc 文件的 proto 文件, *.proto 表示 -I 路径下的所有 proto 文件。 好了, 正文开始。 背景介绍 文件结构 ....
将刚才编译后的libprotobufd.lib和protoc.exe拷贝到自己创建的项目下,按住shift+右键,选择打开CMD,输入protoc --cpp_out=./ Account.proto,发现目录中多了两个文件,一个.h头文件一个.cc源文件 打开Account.pb.h头文件,发现package就是命名空间,Account是类,大概如下代码 namespace IM { class Account { //一...
编写proto文件来生成对应的.cc和.h文件: 编写的proto文件: 编写生成.cc和.h脚本,使用protoc: 导入目录设置 使用--proto_path选项,后面跟需要解析的.proto文件所在目录。如果有多个目录,可以调用多次--proto_path选项。 -I 是 --proto_path的缩写。 生成指定不同的代码 上图中的--cpp_out选项,则是生成CPP相关...
protobuf 是谷歌开发的一种数据封装协议。在使用时,首先定义 proto 文件,然后使用 protoc 工具编译生成 pb.h 和 pb.cc 文件。在命令行中输入特定命令,完成这一过程。该命令包含三个参数:-I 表示 proto 文件路径;--cpp_out 表示输出路径;最后参数表示需要编译的 proto 文件, *.proto 表示 -I...
PROTOBUF_GENERATE_CPP(SOURCES_2 HEADERS_2${MSG_PROTOS_2}) 这种方式生成的 pb 文件输出在 build 文件夹里面,且不论 proto 文件结构如何, 生成的 pb 文件都会被放在同一个目录下。 这里有另一种方式,来指定输出文件的路径。 指定输出路径 cmake_minimum_required(VERSION3.5)project(common_pb)find_package(...
生成的.h,.cpp文件为person.pb.h,person.pb.cpp,且.h的定义与proto文件的内容相关联: namespacetest {// 对应 package test;classPerson:public::google::protobuf::Message {//对应 message Person 且继承自::google::protobuf::Messagepublic:inlinevoidset_name(const::std::string& value);//对应message...
将刚才编译后的libprotobufd.lib和protoc.exe拷贝到自己创建的项目下,按住shift+右键,选择打开CMD,输入protoc --cpp_out=./ Account.proto,发现目录中多了两个文件,一个.h头文件一个.cc源文件 打开Account.pb.h头文件,发现package就是命名空间,Account是类,大概如下代码 代码语言:txt 复制 namespace IM { ...
在本例中,我们生成的是C++源代码,使用以下代码: ```cmake PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS AddressBook.proto) ``` 这些参数包括: - PROTO_SRCS - 存储.pb.cc文件的变量名称 - PROTO_HDRS- 存储.pb.h文件的变量名称 - AddressBook.proto - 从中生成代码的.proto文件 ### 3.3 生成文件 ...