【问题标题】:Build CMake project with protobuf使用 protobuf 构建 CMake 项目
【发布时间】:2017-12-11 23:24:37
【问题描述】:

我尝试构建这个示例来展示如何使用 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/ 下的那个?

【问题讨论】:

  • 您提出了警告,而不是错误。之后CMake是否成功完成?如果没有,请发布完整的错误。如果 CMake 成功并且构建失败,请发布编译器/链接器错误。

标签: c++ cmake


【解决方案1】:

您可能需要使用-D CMake 标志将Protobuf_LIBRARYProtobuf_PROTOC_LIBRARYProtobuf_INCLUDE_DIR 变量设置为正确的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 2013-02-24
    • 2012-04-30
    • 2018-03-26
    • 2014-05-27
    • 1970-01-01
    相关资源
    最近更新 更多