首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以使用cmake的FetchContent来包含protobuf?

是否可以使用cmake的FetchContent来包含protobuf?
EN

Stack Overflow用户
提问于 2022-08-02 13:18:24
回答 1查看 241关注 0票数 3

我想在我的protobuf库中使用C++。到目前为止,所有依赖项都是使用cmake的FetchContent模块包含的。我也想对protobuf做同样的事情。但是,我遇到了以下问题:Unknown CMake command "protobuf_generate_cpp". --关于如何解决这个问题的任何提示?

我的CMakeLists.txt节选

代码语言:javascript
运行
复制
FetchContent_Declare(fmt
        GIT_REPOSITORY https://github.com/fmtlib/fmt.git
        GIT_TAG 9.0.0)

FetchContent_Declare(protobuf
        GIT_REPOSITORY https://github.com/protocolbuffers/protobuf.git
        GIT_TAG v21.4)

FetchContent_MakeAvailable(fmt protobuf)

include_directories(${Protobuf_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_BINARY_DIR})

protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS message.proto)
EN

Stack Overflow用户

发布于 2022-11-23 10:21:28

这对我来说很管用:

代码语言:javascript
运行
复制
FetchContent_Declare(protobuf
  GIT_REPOSITORY https://github.com/protocolbuffers/protobuf.git
  GIT_TAG        v21.4
  SOURCE_SUBDIR  cmake
  FIND_PACKAGE_ARGS NAMES protobuf
)
FetchContent_MakeAvailable(protobuf)

在消费者端做这件事

代码语言:javascript
运行
复制
include(FindProtobuf)
find_package(protobuf CONFIG REQUIRED)

注意:这只在CMake v3.25上进行了测试

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73208290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档