每个.proto文件都import了其他目录下的文件,这里的import类似于C++中的include,但是这里的import又可以相互引用,例如上述的status_handler.proto也引用了mediapipe_options.proto。 如果直接对上述所有的.proto文件直接使用protobuf_generate_cpp命令,会直接报错,因为这些文件不在一个目录,而且import的相对目录也无法分析。另...
这里使用protobuf_generate_cpp命令将foo.proto文件生成源码,使用PROTO_SRC,PROTO_HARS变量分别指代生成的cpp和h文件并可用于连接到target和设置include 不过这种方法有两个缺点: 要求protobuf_generate_cpp命令和生成add_executable()或add_library()的命令必须在同一个CMakeList中. 该方法(当前3.18)仍无法设置源码的...
每个.proto文件都import了其他目录下的文件,这里的import类似于C++中的include,但是这里的import又可以相互引用,例如上述的status_handler.proto也引用了mediapipe_options.proto。 如果直接对上述所有的.proto文件直接使用protobuf_generate_cpp命令,会直接报错,因为这些文件不在一个目录,而且import的相对目录也无法分析。另...
每个.proto文件都import了其他目录下的文件,这里的import类似于C++中的include,但是这里的import又可以相互引用,例如上述的status_handler.proto也引用了mediapipe_options.proto。 如果直接对上述所有的.proto文件直接使用protobuf_generate_cpp命令,会直接报错,因为这些文件不在一个目录,而且import的相对目录也无法分析。另...
下载如下cpp版本 解压后得到一个目录,等下CMake会用到 如果你电脑没有CMake,需要去官网下载 双击打开下载解压后的CMake目录/bin/cmake-gui.exe 现在,选择刚才解压的目录,和构建输出目录 然后选择Configure 选择你的VS版本,然后finish即可 点击Generate,成功后,进入生成后的目录 使用VS打开这个项目 编译libprotobuf,...
protobuf_generate_cpp:生成.proto文件的C++源码和头文件 CMAKE_CURRENT_BINARY_DIR:当前构建目录, protobuf_generate_cpp 生成的文件会放在这里 protobuf::libprotobuf 和protobuf::libprotoc:链接Protobuf库 LNK1107问题及其解决方案 如果你使用下面的CMakeLists.txt配置,可能会遇到LNK1107问题, 这是因为Protobuf_...
Cmake最后一步,点击Generate,生成成功则编译成功。(注:如果ProtoBuf是64位的或者想要在x64平台上编译,一定要选择x64,默认为32,不选会出错。)随后,在输出目录就会有编译完成的文件。 打开Cmake处理完成的文件,目录下有个.sln文件,用vs2017打开,对项目进行编译(也可以只编译libprotobufd/libprotocd/libprotobuf-...
Protobuf 的使用方式很多,可以自行手动生成代码,也可以使用cmake自动生成 3.1、手动生成代码的方式 以下代码的目录结构为: . ├── CMakeLists.txt ├── include #空文件夹,方便存储生成的代码 ├── main.cpp └── message └── test.proto ...
--rust_out=OUT_DIR Generate Rust sources. 3、测试使用 main.cpp #include <iostream> #include <fstream> #include <string> #include "person.pb.h" using namespace std; int main(int argc, char* argv[]) { GOOGLE_PROTOBUF_VERIFY_VERSION; tutorial::Person person; //将数据写到person.pb文件 ...
⽤,Cmake有官⽅的modules,可以通过简单的⼏个命令protobuf_generate_cpp来⽣成对应的.pb.cc和.pb.h。简单的例⼦:find_package(Protobuf REQUIRED)include_directories(${Protobuf_INCLUDE_DIRS})include_directories(${CMAKE_CURRENT_BINARY_DIR})protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS foo.proto...