【发布时间】:2020-08-21 15:09:08
【问题描述】:
我对 CMAKE 还是很陌生,但我正在使用 find_package(Protobuf Requried) 来编译我的 .proto 文件作为构建的一部分,我在导入工作时遇到了麻烦,而且我真的很好难住了。
我在同一个目录中有 2 个 .proto 文件,分别名为“A.proto”和“B.proto”的“protobuf”
没有导入,它们编译得很好。
如果我将 A.proto 更改为对 B 的导入:
syntax = "proto3";
import "B.proto";
message MyMessage
{}
使用正确设置 Protobuf_IMPORT_DIRS 变量的 CMakeLists.txt 文件(我认为):
find_package(Protobuf REQUIRED)
set(Protobuf_IMPORT_DIRS ${Protobuf_IMPORT_DIRS} ${CMAKE_SOURCE_DIR}/protobuf)
...
protobuf_generate(TARGET ${MY_PROJECT_NAME})
我在构建时得到了这个:
Running cpp protocol buffer compiler on protobuf/A.proto
B.proto: File not found.
protobuf/A.proto:3:1: Import "B.proto" was not found or had errors.
任何帮助将不胜感激,因为我觉得我正在服用疯狂的药丸! :)
【问题讨论】: