我正在尝试使用 CMake 在 Ubuntu 上构建一个 protobuf 项目。Protobuf 3.5.1 版本在同一台机器上成功构建。要使用这个特定的版本,标志NO_DEFAULT_PATH
被传递给find_package
和 protobuf 相关的 cmake 文件的新位置也被传递。
我当前的 CMakeLists.txt:
set (Protobuf_DIR "/home/ubuntu/Projects/Protobuf/build-host/lib/cmake/protobuf")
find_package(Protobuf REQUIRED NO_DEFAULT_PATH)
message(" --> PROTOBUF LIB: ${PROTOBUF_LIBRARIES}")
message(" --> PROTOBUF INCLUDE: ${PROTOBUF_INCLUDE_DIRS}")
message(" --> PROTOBUF VERSION: ${Protobuf_VERSION}")
message(" --> PROTOBUF Found: ${Protobuf_FOUND}")
输出:
--> PROTOBUF LIB:
--> PROTOBUF INCLUDE:
--> PROTOBUF VERSION: 3.5.1
--> PROTOBUF Found: 1
它声称,已找到 protobuf,但PROTOBUF_LIBRARIES
它PROTOBUF_INCLUDE_DIRS
是空的。
我该如何解决这个问题?有什么提示吗?