将头文件protobuf添加到CPP

时间:2017-06-22 14:33:52

标签: c++ protobuf-c

我正在使用protobuf来生成cpp代码。

在我的imagereader.prototxt

node {
    name: "Image Reader";
    type: ImageReader;
        name: "path";
        type: pb_string;
        #value: "${DIR_DATA}/images/";
        value: "/local/git/data/images"";
    }
}

根据文件内容生成代码。即在生成的cpp文件中我有一行

/* 
 * declare instance of node "Image Reader"
 */
sandbox::images::ImageReader node_0(std::string("/local/git/data/images/"));

问题是当然如果另一个开发人员使用该代码,那么它将失败,因为他/她可能没有相同的目录结构。我尝试使用原型文件中的环境变量DIR_DATA,但编译器生成的文件名称为DIR_DATA,其中无法找到该文件。

/* 
 * declare instance of node "Image Reader"
 */
sandbox::images::ImageReader node_0(std::string("${DIR_DATA}/images/"));

有没有办法,protobuf使用原型文件中的命令添加头文件?这样,我可以在该头文件中手动#define DIR_DATA。

0 个答案:

没有答案