【问题标题】:gRPC cmake installation doesn't generate targets filegRPC cmake 安装不生成目标文件
【发布时间】:2017-09-07 01:49:39
【问题描述】:

我一直在尝试使用 cmake 构建和安装 gRPC。在与获取 nuget 包和更新 git 子模块相关的一些混乱之后,使用 ninja 构建项目相对顺利。

我在安装 gRPC 时遇到了问题。在阅读了 cmake 文件后,我发现您需要手动将 gRPC_INSTALL 缓存变量设置为 ON 以便 cmake 生成安装目标。完成此操作后,我可以调用安装目标,并安装库和头文件以及 cmake 配置文件。但是缺少 cmake 目标文件,甚至没有生成它。配置文件很简单,就是调用targets文件:

include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake)

但看起来 gRPC 中的 CMakeLists 文件甚至没有尝试生成此文件,除非我遗漏了什么?您甚至无法使用 cmake 在 gRPC 存储库中构建示例 cpp 项目,因为当它尝试查找 gRPC 包时,配置文件无法找到 gRPCTargets.cmake。那么使用 cmake 构建、安装和链接到 gRPC 的正确方法是什么?我在 Windows 上,但这与 cmake 无关。

【问题讨论】:

  • 我将此作为 grpc 问题提交:github.com/grpc/grpc/issues/10759。欢迎提出带有修复的请求。
  • 问题已在 grpc master 分支中解决,但在 1.4.x 分支中未解决(当前版本为 1.4.7)。如何在 Windows 上构建 c++ helloworld 示例?

标签: c++ windows git cmake grpc


【解决方案1】:

在 OSX 上: 运行这些命令:

cd grpc

mkdir -p cmake/build

cd cmake/build

cmake -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package -DgRPC_CARES_PROVIDER=package -DgRPC_SSL_PROVIDER=package -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2r -DOPENSSL_LIBRARIES=/usr/local/Cellar/openssl/1.0.2r/lib ../..

make install 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 2017-04-13
    • 1970-01-01
    • 2013-12-29
    相关资源
    最近更新 更多