PUBLIC${PROTOBUF_INCLUDE_DIRS}${CMAKE_CURRENT_BINARY_DIR})# link the exe against the librariestarget_link_libraries(protobuf_example PUBLIC${PROTOBUF_LIBRARIES}) [main.cpp] - protobuf示例的源文件. #include<iostream>#include<fstream>#include<string>#include"AddressBook.pb.h"usingnamespacestd;/...
sudo apt-get install protobuf-compiler libprotobuf-dev 1. 概念 导出变量 由CMake Protobuf包导出并在此示例中使用的变量包括: PROTOBUF_FOUND- 如果安装了Protocol Buffers PROTOBUF_INCLUDE_DIRS- protobuf的头文件 PROTOBUF_LIBRARIES- protobuf库 此外,还可以通过查看FindProtobuf.cmake文件顶部的内容找到定义...
一般来说,protobuf经常搭配Cmake使用,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...
一般来说,protobuf经常搭配Cmake使用,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...
find_package(Protobuf REQUIRED) include_directories(${Protobuf_INCLUDE_DIRS}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS foo.proto) protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS EXPORT_MACRO DLL_EXPORT foo.proto) ...
每个.proto文件都import了其他目录下的文件,这里的import类似于C++中的include,但是这里的import又可以相互引用,例如上述的status_handler.proto也引用了mediapipe_options.proto。 如果直接对上述所有的.proto文件直接使用protobuf_generate_cpp命令,会直接报错,因为这些文件不在一个目录,而且import的相对目录也无法分析。另...
在之前的博文中已经简单介绍了onnx,其中onnx.proto就代表了onnx模型的基本数据结构。一般来说,protobuf经常搭配Cmake使用,Cmake有官方的modules,可以通过简单的几个命令protobuf_generate_cpp来生成对应的.pb.cc和.pb.h。 简单的例子: find_package(Protobuf REQUIRED)include_directories(${Protobuf_INCLUDE_DIRS}...
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PUBLIC ${PROTOBUF_INCLUDE_DIRS}) # 关联 protobuf 到最后的二进制文件,生成可执行文件 add_executable(cmake_protobuf src/main.cpp ${PROTO_SRCS} ${PROTO_HDRS}) target_link_libraries(cmake_protobuf nart_proto)...
${PROTOBUF_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR} ) # link the exe against the libraries target_link_libraries(protobuf_example PUBLIC ${PROTOBUF_LIBRARIES} ) ``` - [main.cpp] - protobuf示例的源文件. ```cpp #include <iostream> #include <fstream> #include <string> #include "Ad...
-- === Protobuf_INCLUDE_DIRS is: /home/zz/soft/protobuf-3.8.0/include -- Configuring done -- Generating done -- Build files have been written to: /home/zz/work/oh-my-cmake/build 然而考虑到在“深入理解(3)”一文中对find_package()的分析,以及modern-cmake的理念,应当让find_package()在...