尝试编译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.这个
我找不到任何其他的解决办法。任何帮助都将不胜感激。
4条答案
按热度按时间weylhg0b1#
所以问题是我是bash脚本的新手,我已经将快速启动中的指令复制并粘贴到bash脚本中,这样我们就可以将gRPC存储库顺利集成到我们的repo中,而不必每次都手动构建。
此问题是由于不正确地调用脚本造成的,这意味着安装目录的环境变量从未正确设置,并且保持为空值。在调用文件之前必须输入源代码,例如
source ./grpcSetup.sh
。请阅读此stackoverflow question,它更清楚地解释了此问题。y1aodyip2#
我猜这可能是由于gRPC存储库中缺少子模块造成的。你会在构建之前得到子模块吗?作为一个例子,你可以为它运行
git clone --recurse-submodules -b v1.38.0 https://github.com/grpc/grpc
。zbwhf8kr3#
你以前编译和安装过grpc吗?我今天得到这个cmake错误,我在builded grpc的目录下运行
make install
,它现在工作了。lhcgjxsq4#
安装GRPC时,设置了一个指向GRPC安装文件夹的变量。
mkdir -p $我的安装目录
mkdir -p $我的安装目录
如果我们将名称MY_INSTALL_DIR更改为其他名称,则必须在CMakeList.txt文件中更改,因此会出现错误。为了避免此错误并保持其简单,请使用文档中提到的相同名称。