Я использую CMake для своего недавнего проекта и хочу подтвердить, что задан правильный путь
set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR})
Я использовал message
, чтобы проверить значение _gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR
, но ничего не печатал втерминал
message( STATUS ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR} ) # no output for this
Я собираюсь собрать Grpc1.14.1, но он зависит от protobuf, поэтому я скачал protobuf 3.6.01, и grpc и protobuf хранятся в одном каталоге (home/user/src
).
При сборке я получил эту ошибку
google/protobuf/stubs/common.h: No such file or directory
#include <google/protobuf/stubs/common.h>
Итак, я открыл protobuff.cmake
в каталоге gRPC/cmake
и изменил корневой путь protobuf
if(NOT PROTOBUF_ROOT_DIR)
#set(PROTOBUF_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/protobuf)
set(PROTOBUF_ROOT_DIR ../../ThirdParty/protobuf)
[...]
После этого,У меня все та же проблема.