我正在使用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。