cmake - CMake 找不到 Protobuf `protobuf_generate_cpp`
问题描述
使用
find_package(Protobuf REQUIRED
PATHS ${PROTOBUF_SEARCH_PATH}
)
if (NOT ${Protobuf_FOUND})
message( FATAL_ERROR "Could not find Protobuf!" )
endif()
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS Foo.proto)
我收到一条错误消息Unknown CMake command "protobuf_generate_cpp"
。如果我检查 Protobuff 的安装文件夹,有一个<istall path>/cmake/protobuf-module.cmake
包含函数定义的 CMake 文件。
CMake version: 3.10.2
Protobuf version: 3.6.1
这里有什么问题?
解决方案
看起来 cmake API 发生了一些变化。尝试将其更改为
protobuf_generate(
LANGUAGE cpp
TARGET <YOUR_TARGET_NAME>
PROTOS Foo.proto)
这将直接将生成的文件添加到目标的源列表中。查看新选项中的protobuf_generate
功能。protobuf-config.cmake
推荐阅读
- list - Flutter 和 Dart - 如何仅从列表中复制一个项目并将该项目添加到另一个列表中?
- powerbi - TopN + Other 基于柱状图中的排名(带颜色) - Power BI
- javascript - 如何迭代到 FileList?
- python - Websocket-client 版本 1.2.1 Python 禁用输出不起作用
- optimization - 如何在 VMWARE 上为 VM 设置最小 CPU 速度?
- spring-boot - 如何使用 LockModeType.PESSIMISTIC_WRITE 配置 findOne(Specification s) 或对单个实体不加任何锁
- python - Python正则表达式匹配打印页面及其范围
- php - 按自定义字段 DATE 订购 CPT 时出现问题
- vue.js - Vue 更改选项中的 ApexCharts 不起作用
- django-rest-framework - 如何在招摇中禁用单个模式的模式扩展?