找不到“Protobuf”提供的具有以下任何名称的程序包配置文件:协议缓冲区配置.cmake协议缓冲区-配置.cmake

ve7v8dk2  于 2023-02-16  发布在  其他
关注(0)|答案(4)|浏览(281)

尝试编译GRPC的快速入门示例。
它会产生以下错误:

CMake Error at /home/priya/grpc/examples/cpp/cmake/common.cmake:101 (find_package):
  Could not find a package configuration file provided by "Protobuf" with any
  of the following names:

    ProtobufConfig.cmake
    protobuf-config.cmake

  Add the installation prefix of "Protobuf" to CMAKE_PREFIX_PATH or set
  "Protobuf_DIR" to a directory containing one of the above files.  If
  "Protobuf" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  CMakeLists.txt:24 (include)

我已经尝试了其他类似问题的所有解决方案,但没有效果。以下是对我不起作用的解决方案:
1.将find_package(protobuf CONFIG REQUIRED)更改为大写find_package(Protobuf REQUIRED)
1.正在安装pkg-config
1.这个
我找不到任何其他的解决办法。任何帮助都将不胜感激。

weylhg0b

weylhg0b1#

所以问题是我是bash脚本的新手,我已经将快速启动中的指令复制并粘贴到bash脚本中,这样我们就可以将gRPC存储库顺利集成到我们的repo中,而不必每次都手动构建。
此问题是由于不正确地调用脚本造成的,这意味着安装目录的环境变量从未正确设置,并且保持为空值。在调用文件之前必须输入源代码,例如source ./grpcSetup.sh。请阅读此stackoverflow question,它更清楚地解释了此问题。

y1aodyip

y1aodyip2#

我猜这可能是由于gRPC存储库中缺少子模块造成的。你会在构建之前得到子模块吗?作为一个例子,你可以为它运行git clone --recurse-submodules -b v1.38.0 https://github.com/grpc/grpc

zbwhf8kr

zbwhf8kr3#

你以前编译和安装过grpc吗?我今天得到这个cmake错误,我在builded grpc的目录下运行make install,它现在工作了。

lhcgjxsq

lhcgjxsq4#

安装GRPC时,设置了一个指向GRPC安装文件夹的变量。
mkdir -p $我的安装目录
mkdir -p $我的安装目录
如果我们将名称MY_INSTALL_DIR更改为其他名称,则必须在CMakeList.txt文件中更改,因此会出现错误。为了避免此错误并保持其简单,请使用文档中提到的相同名称。

相关问题