小编Nei*_*jee的帖子

Cmake 3.1 +“Protobuf_IMPORT_DIRS”导入另一个 .proto 错误

我对 CMAKE 还很陌生,但我正在使用find_package(Protobuf Requried)编译 .proto 文件作为构建的一部分,并且我在导入工作时遇到了麻烦,我真的很困惑。

我在同一个目录中有 2 个 .proto 文件,名为“A.proto”和“B.proto”的“protobuf”

没有导入,它们编译得很好。

如果我更改 A.proto 以导入 B:

syntax = "proto3";
import "B.proto";


message MyMessage
{}
Run Code Online (Sandbox Code Playgroud)

使用正确设置变量的 CMakeLists.txt 文件Protobuf_IMPORT_DIRS(我认为):

find_package(Protobuf REQUIRED)
set(Protobuf_IMPORT_DIRS ${Protobuf_IMPORT_DIRS} ${CMAKE_SOURCE_DIR}/protobuf) 

...

protobuf_generate(TARGET ${MY_PROJECT_NAME})

Run Code Online (Sandbox Code Playgroud)

我在构建时得到了这个:

  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.
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,因为我觉得我正在服用疯狂的药丸!:)

cmake protocol-buffers

1
推荐指数
1
解决办法
1969
查看次数

标签 统计

cmake ×1

protocol-buffers ×1