编译GRPC C++快速入门示例找不到Protobuf配置文件报错如何解决
GRPC C++示例编译Protobuf未找到报错解决方案
- 优先使用gRPC源码绑定的Protobuf安装
大部分此类报错都是因为系统安装的Protobuf版本和gRPC依赖版本不匹配导致,不要单独安装Protobuf,直接编译安装gRPC源码third_party目录下自带的Protobuf版本:
进入gRPC源码根目录后执行:
cd third_party/protobuf mkdir -p build && cd build cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release .. make -j$(nproc) sudo make install sudo ldconfig
- 编译示例时手动指定Protobuf配置路径
首先全局搜索配置文件位置:
sudo find / -name "protobuf-config.cmake" 2>/dev/null
假设搜索结果为/usr/local/lib/cmake/protobuf/protobuf-config.cmake,则编译示例时cmake命令调整为:
cmake .. -DProtobuf_DIR=/usr/local/lib/cmake/protobuf -Dprotobuf_DIR=/usr/local/lib/cmake/protobuf
如果你之前将gRPC安装到自定义路径(例如~/my_grpc),则额外指定CMAKE_PREFIX_PATH:
cmake .. -DCMAKE_PREFIX_PATH=~/my_grpc -DProtobuf_DIR=~/my_grpc/lib/cmake/protobuf -Dprotobuf_DIR=~/my_grpc/lib/cmake/protobuf
内容的提问来源于stack exchange,提问作者Priyata Kaneria
相关产品推荐
相关产品推荐

