我尝试构建这个示例,展示如何使用 CMake 通过 protobuf 管理 C++ 项目。
https://github.com/shaochuan/cmake-protobuf-example
但我一直收到这个错误:
CMake Warning at /usr/local/share/cmake-3.9/Modules/FindProtobuf.cmake:429 (message):
Protobuf compiler version doesn't match library version 2.6.1
Call Stack (most recent call first):
proto/CMakeLists.txt:1 (INCLUDE)
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "2.6.1")
我确实有一个 3.4 版的 protoc 二进制文件,我在另一个路径中也有 libprotobuf.so。如何指定 CMake 使用我的 libprotobuf.so 而不是 /usr/lib/x86_64-linux-gnu/
下的 libprotobuf.so?
最佳答案
您可能需要使用 -D
CMake 将 Protobuf_LIBRARY
、Protobuf_PROTOC_LIBRARY
和 Protobuf_INCLUDE_DIR
变量设置为正确的值旗帜..
关于c++ - 使用 protobuf 构建 CMake 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47763070/