protobuf protoc创建错误的标头依赖路径

时间:2019-11-07 02:14:31

标签: c++ protocol-buffers

我正在使用protobuf 3.10 给定这样的文件夹结构:

ProtocTest
-- Messages
---- Common
------ CommonFields.proto
---- Incoming
------ Incoming.proto
---- protoc.exe

CommonFields.proto

syntax = "proto3";
package proto.common;

enum Color
{
    None=0;
    Blue=1;
    Red=2;
    Green=3;
}

Incoming.proto

syntax = "proto3";
package proto.incoming;

import "Common/CommonFields.proto";

message IncomingColor
{
    int32 id = 1;
    proto.common.Color color = 2;
}

当我使用以下命令从Messages文件夹中运行protoc.exe时:

../protoc.exe --cpp_out="..\Compiled" Incoming\*.proto

生成的已编译类显示在Incoming \ Compiled中的正确位置,但是.cc类头包括以下内容:

#include "Incoming/Incoming.pb.h"

由于.cc和标头位于同一目录中,因此显然代码无法找到标头。我不知道如何调整执行开关,以免发生这种情况。有什么建议吗?

0 个答案:

没有答案