Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR),如何通过cmake配置PROTOBUF_INCLUDE_DIRS
时间: 2023-08-19 19:03:50 浏览: 421
Protobuf在Unity使用DLL方式调用(IOS可用)
5星 · 资源好评率100%
如果在使用 CMake 过程中遇到了“Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR)”这个错误,可以通过以下方式配置 `PROTOBUF_INCLUDE_DIRS`:
1. 在 CMakeLists.txt 中添加以下代码:
```
find_package(Protobuf REQUIRED)
include_directories(${PROTOBUF_INCLUDE_DIRS})
```
2. 在命令行中使用以下命令手动设置 `PROTOBUF_INCLUDE_DIRS`:
```
cmake -DPROTOBUF_INCLUDE_DIRS=/path/to/protobuf/include/dir
```
其中,`/path/to/protobuf/include/dir` 是指 protobuf 的头文件所在目录。
需要注意的是,如果你的 protobuf 安装目录没有被添加到 `CMAKE_PREFIX_PATH` 变量中,那么 CMake 在查找 protobuf 时可能会失败。此时,你可以手动将 protobuf 安装目录添加到 `CMAKE_PREFIX_PATH` 中,例如:
```
export CMAKE_PREFIX_PATH=/path/to/protobuf:$CMAKE_PREFIX_PATH
```
阅读全文