c++ - 使用 protobuf 构建 CMake 项目

标签 c++ cmake

我尝试构建这个示例,展示如何使用 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_LIBRARYProtobuf_PROTOC_LIBRARYProtobuf_INCLUDE_DIR 变量设置为正确的值旗帜..

关于c++ - 使用 protobuf 构建 CMake 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47763070/

相关文章:

c++ - 如何构造辅助数组以将 "int[][][]"转换为 "int***"?

C++ 11 : How to write 2 template functions that differ in their return type

c++ - 双向链接的线程安全分离

c++ - 快速排序实现,找不到错误

gcc - CMake 相当于 -l 作为 ld 链接到库的 gcc 指令

c++ - 使用 cmake 和 travis boost 1.67 静态库

c++ - 将模板嵌套类的方法定义移到声明之外

visual-studio - 在 CMake 中设置 MSVC 运行时

Cmake:从命令行获取目标的位置

opencv - Mac Mavericks上的OpenCV安装问题