CMake 3.14配置报错:无法找到Protobuf配置文件求解决方法
解决CMake找不到Protobuf配置文件的问题
方法1:直接设置Protobuf_DIR变量
CMake需要定位到ProtobufConfig.cmake或protobuf-config.cmake文件,该文件通常位于Protobuf安装目录的lib/cmake/protobuf(部分64位系统为lib64/cmake/protobuf)路径下。你可以通过两种方式指定:
- 命令行编译时传入参数:
将cmake -DProtobuf_DIR=/path/to/protobuf/lib/cmake/protobuf ../path/to/protobuf替换为你的Protobuf实际安装根目录,例如/usr/local/protobuf。 - 在CMakeLists.txt中提前配置(必须放在
find_package(Protobuf)代码之前):set(Protobuf_DIR "/path/to/protobuf/lib/cmake/protobuf") find_package(Protobuf REQUIRED)
方法2:添加Protobuf安装前缀到CMAKE_PREFIX_PATH
CMAKE_PREFIX_PATH是CMake查找第三方包的全局前缀路径集合,你可以将Protobuf的安装根目录加入其中:
- 命令行编译时传入参数:
cmake -DCMAKE_PREFIX_PATH=/path/to/protobuf .. - 在CMakeLists.txt中提前配置(需放在
find_package代码之前):list(APPEND CMAKE_PREFIX_PATH "/path/to/protobuf") find_package(Protobuf REQUIRED)
前置检查
- 确认已安装Protobuf开发包:系统包管理安装的话,Ubuntu执行
apt install libprotobuf-dev,CentOS执行yum install protobuf-devel;自行编译安装的话,需确保执行过make install步骤,保证配置文件被正确安装到对应目录。
内容的提问来源于stack exchange,提问作者Bugsfounder
相关产品推荐
相关产品推荐

