我尝试构建这个示例,演示如何使用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/
下的那个?
答案 0 :(得分:0)
您可能需要使用Protobuf_LIBRARY
CMake标记将Protobuf_PROTOC_LIBRARY
,Protobuf_INCLUDE_DIR
和-D
变量设置为正确的值。