以下是安装语句:
cd grpc_folder
git submodule update --init
cmake ..
make -j 4
sudo make install
然而编写依赖gRPC的程序,发现无法调用gRPC的CMake文件,错误提示如下所示:
include could not find load file:
/usr/local/lib/cmake/grpc/gRPCTargets.cmake
在gRPC的issue列表中,寻找到解决方案(CMake安装时,如果第三方依赖在未指明的情况下,默认均通过源码安装,如果无法通过源码安装,则无法生成gRPCTargets.cmake文件):
因此需要指定第三方依赖是通过源码安装,还是已经通过包管理器安装完毕.
因为已经安装了zlib,protobuf以及cares,因此修改cmake ..为:
cmake -DgRPC_INSTALL=ON -DgRPC_ZLIB_PROVIDER=package -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_SSL_PROVIDER=package ..
依赖gRPC

在安装grpc时,由于默认源码安装方式未生成gRPCTargets.cmake文件,导致依赖程序无法找到所需文件。解决办法是明确指定第三方依赖的安装方式,如已通过包管理器安装,避免源码安装。修改CMakeLists.txt以正确引用依赖,从而成功添加依赖。

3283

被折叠的 条评论
为什么被折叠?



