“不使用系统Protobuf库时,Protobuf编译器版本与库版本3.6.1不匹配

问题描述 投票:1回答:1

我正在使用CMake作为构建工具,并且为我在项目中使用的所有库提供了预打包的二进制文件。这些库之一是Protobuf,可通过Conan IO下载。因此,我要使用柯南下载的Protobuf,而不要使用Linux已经安装的Protobuf。问题是运行CMake时出现以下错误:

CMake Warning at /home/username/Documents/project/test/build/venv/lib/python3.6/site-packages/cmake/data/share/cmake-3.10/Modules/FindProtobuf.cmake:455 (message):
  Protobuf compiler version doesn't match library version 3.6.1
Call Stack (most recent call first):
  /home/username/Documents/project/test/script/cmake/Env.cmake:139 (include)
  CMakeLists.txt:6 (include)


-- Found Protobuf: /home/username/Documents/project/test/build/venv/.conan/data/Protobuf/3.6.1/project/dev/package/80043e232e8ab07f4b25e67652a9490d9ad33d91/lib/libprotobuf.so;-lpthread (found version "3.6.1") 
CMake Warning at /home/username/Documents/project/test/build/venv/lib/python3.6/site-packages/cmake/data/share/cmake-3.10/Modules/FindProtobuf.cmake:455 (message):
  Protobuf compiler version doesn't match library version 3.6.1
Call Stack (most recent call first):
  /home/username/Documents/project/test/src/shared/bysp/CMakeLists.txt:9 (find_package)

是否有解决此问题的方法?这会导致错误吗?

c++ cmake protocol-buffers
1个回答
0
投票

看来您下载的协议由于某种原因而无法启动。尝试获取protobuf版本

./protoc --version

在相应目录中。

© www.soinside.com 2019 - 2024. All rights reserved.