【发布时间】:2017-07-22 21:14:11
【问题描述】:
PROTOBUF_GENERATE_CPP 如何知道从哪里获取 protoc 二进制文件?
我已经在本地编译了 protobuf,并且想将我的 CMakeLists.txt 指向已安装的二进制文件 ( myfolder/protobuf-install/bin/protoc ) 而不是系统二进制文件 ( /usr/bin/protoc )
通常对于 Boost,我只需将 BOOST_ROOT 设置为我安装的文件夹,它就会找到所有的 include_directories、库等。
Protobuf 应该怎么做。我在 FindProtobuf.cmake 中没有看到任何前缀选项。
set( Protobuf_SRC_ROOT_FOLDER "${CMAKE_SOURCE_DIR}/myfolder/")
find_package(Protobuf MODULE REQUIRED)
错误是
file STRINGS file "/usr/include/google/protobuf/stubs/common.h" cannot be read.
Call Stack (most recent call first):
CMakeLists.txt:17 (find_package)
当然,上面的路径是在 myfolder/ 中,而不是在系统文件夹中。但是为什么protobuf在系统路径中寻找包含,当我明确声明根路径为myfolder/
【问题讨论】: