..
grpcTargets.cmake 找不到了
背景
有一套代码是基于 cmake 构建的, 需要对一些地方进行重构一下,于是在新机器上搭建一个编译环境。
直接 cmake ..,出现了该错误。
include could not find load file:
/usr/local/lib/cmake/grpc/gRPCTargets.cmake
如果去 /usr/local/lib/cmake/grpc/
目录下查看, 确实没有 gRPCTargets.cmake
。
怎么办
刚开始找到 find(gprc) 的 cmake 文件,因为之前已经安装过 grpc c++ 版本的,看了一下 cmake 文件的逻辑,把一些代码注释掉,试着编译,肯定是不通过的。。。
于是 Google 了一下, 问题找到了。 1
解决
很早之前安装的grpc,至于怎么安装的我也记不起来了。 但是看 issue 上的解释,需要给他强制指定一下才行,解决如下:
cd grpc
mkdir my_build && cd my_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 ../..
make
sudo make install
此时再看,gRPCTargets.cmake
已经存在了。
再去编译工程, success.
PS.
关于 grpc 的源码安装步骤, 看这里。2