手动安装protobuf情况下,在编译路径中可以找到cmake文件夹,其中包含了关键文件protobuf-config.cmake和protobuf-config.cmake(可能带有 .in 后缀) 设置该路径为<package>_DIR,实现如下: # /root/cyh/protobuf/build/protobuf-3.20.1 为我编译的路径 set(protobuf_DIR "/root/cyh/protobuf/build/protobuf-3.20...
接下来,定义相关的目录地址,PROTO_META_BASE_DIR为编译之后生成文件的目录。PROTO_FLAGS很重要,指定编译.proto文件时的总的寻找路径,.proto中的import命令根据根据这个地址去连接其他的.proto文件: SET(PROTO_META_BASE_DIR${CMAKE_CURRENT_BINARY_DIR}) LIST(APPEND PROTO_FLAGS -I${CMAKE_CURRENT_SOURCE_DIR})...
它应该是包含ProtobufConfig.cmake或者protobuf-config.cmake文件的目录 当确认Protobuf_DIR设定到了正确路径,例如~/soft/protobuf-3.8.0/lib/cmake/protobuf,清理CMakeCache.txt,再执行cmake,发现找到了protobuf但是版本不对:找到了2.6.1版本的也就是apt安装的版本,而不是自行编译安装的3.8.0版本: set(Protob...
# include 的本质就是将那些东西复制进来, 所以 main.cpp 上面就会 include PROTOBUF_INCLUDE_DIR # 因此需要设置为 PUBLIC 才行 target_include_directories(proto_lib PUBLIC ${PROTOBUF_INCLUDE_DIR}) target_link_libraries(proto_lib PRIVATE ${PROTOBUF_STATIC_LIBRARIES} Threads::Threads) add_executable(${...
📘 C++ 工程中正确编译使用 protobuf 🔴 方式一: 通过CMakeLists.txtset( PROTOBUF_DIR path )配置protobuf| 通常难以找到自己安装的这个 CMakeLists.txt中find_package(Protobuf)默认会找到系统安装的 protobuf 原因如下: CMakeLists.txt中如何有效配置使指向自己安装的protobuf,还望大佬评论区指路 ...
Protobuf在Cmake中的正确使用,Protobuf是google开发的一个序列化和反序列化的协议库,我们可以自己设计传递数据的格式,通过.proto文件定义我们的要传递的数据格式。例如,在深度学习中常用的ONNX交换模型就是使用.proto编写的。我们可以通过多种前端(MNN、NCNN、TVM的前端
set(PROTO_SRCS"${CMAKE_CURRENT_BINARY_DIR}${OUT_PATH}${FIL_WE}.pb.cc")set(PROTO_HDRS"${CMAKE_CURRENT_BINARY_DIR}${OUT_PATH}${FIL_WE}.pb.h")EXECUTE_PROCESS(COMMAND${PROTOBUF_PROTOC_EXECUTABLE}${PROTO_FLAGS}--cpp_out=${PROTO_META_BASE_DIR}${FIL})message("Copying "${PROTO_...
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 这里又出现一个新的命令set,是用于定义变量的,EXECUTABLE_OUT_PATH和PROJECT_SOURCE_DIR是CMake自带的预定义变量,其意义如下 EXECUTABLE_OUTPUT_PATH :目标二进制可执行文件的存放位置 PROJECT_SOURCE_DIR:工程的根目录 ...
(Protobuf REQUIRED) set(PYTHON_BINARY_DIR ${CMAKE_BINARY_DIR}/python) add_library(${PROJECT_NAME} SHARED src/core_pb.cpp) set(protobuf_files ${CMAKE_CURRENT_SOURCE_DIR}/proto_messages/hello_world.proto ) protobuf_target_cpp(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/proto_messages ...
//提示Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)没关系 //新建解决方案目录 Visual Studio 15 2017 Win64这个字段可以用cmake --help来看 cd D:\009protobuff\to\protobuf-3.19.1\cmake\build D:\009protobuff\to\protobuf-3.19.1\cmake\build>mkdir solution & cd solution ...