如果成功找到 protobuf,CMake 会设置一系列变量和目标,使你的项目能够链接和使用 protobuf 库。 3. 描述当protobuf包未找到时,required选项的影响 如果find_package(protobuf required) 命令在执行时未能找到 protobuf 包,由于 required 关键字的存在,CMake 配置过程将失败,并输出错误信息。这确保了开发者不会无...
实验基于Ubuntu 16.04系统,使用apt安装的libprotobuf-dev,并且系统里不存在其他版本的protobuf。 1. find_package在MODULE模式下找到Protobuf find_package(Protobuf REQUIRED) # 能找到 find_package(Protobuf REQUIRED CONFIG) # 找不到 也即是:MODULE模式下找到了protobuf。而MODULE模式下无非是先后从CMAKE_MODULE...
清理CMakeCache.txt后重新执行cmake,protobuf的库文件就能被正确的找到了,find_package(Protobuf REQUIRED)因而不再报错: -- Found Protobuf: /home/zz/soft/protobuf-3.8.0/lib/libprotobuf.a;-lpthread (found version "3.8.0") 3. Protobuf可执行文件 大多数用到Protobuf的C/C++工程,只需要find_protobu...
find_package(Protobuf REQUIRED)include_directories(${PROTOBUF_INCLUDE_DIR})add_executable(main src/main.cpp)target_link_libraries(main ${PROTOBUF_LIBRARIES}) find_package从默认目录中寻找Protobuf,找到后将头文件目录设置为${PROTOBUF_INCLUDE_DIR},库文件位置设置为${PROTOBUF_LIBRARIES},然后在工程中包含...
我的cmake如下 {代码...} 报错如下: {代码...} 我的protobuf安装目录为/usr/local/protobuf 我要是改成find_package(protobuf REQUIRED), (改成小写的protobuf)就会报错缺少 {代码...} 个人解决不了了... 请教以...
本文主要介绍如何在 CMakeLists.txt 文件中配置 find_package(), 让 find_package() 可以找到自定义安装位置的通用库(比如 OpenCV, Protobuf)。 在通常情况下, 使用cmake编译的时候不指定 -DCMAKE_INSTALL_PREFIX参数, 那么在执行安装时, 会默认安装到/usr目录下。我们可以通过设置 -DCMAKE_INSTALL_PREFIX参数...
上面列出的opencv和protobuf是重灾区,还有没有列出来的比如boost版本问题等。解决起来也不难: 明确find_package()的N大查找顺序 知道如何让find_package()找到非CMake构建安装的依赖包 find_package()原理解读 根据cmake官方文档可以知道,find_package()有Module模式(基本用法,basic signature)和Config模式(full signat...
在 Protocol Buffers (protobuf) 中,可以使用特定的选项来指定生成的 JSON 标签。通过在消息定义中使用...
find_package(Protobuf REQUIRED) protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS ${PROTO_LIST}) add_library(mylib STATIC ${PROTO_SRCS} ${PROTO_HDRS}) target_link_libraries(mylib) 执行命令: cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release .. ...
前面两篇分别分析了apt安装的protobuf和手工编译安装的protobuf,是如何被find_package(Protobuf REQUIRED)找到的。 考虑到实际中可能多人用同一台Ubuntu电脑/服务器,多种需求共存使得apt以及手工安装的protobuf需要共存。甚至手工编译的protobuf需要同时配置多个版本:一个给TensorFlow用,一个给MNN用;又或者是,别人提供的...