我尝试在C#和C++项目中使用相同的.proto文件(protobuf)。我的问题是C#文件需要一个导入和一些选项集(protobuf-csharp-port),而C++文件不需要。
在某些情况下,有没有办法让protoc忽略导入/选项?
目前,我解决这个问题的唯一方法是创建两个不同的.proto文件,并在发生更改时更新这两个文件。
发布于 2010-07-12 21:36:30
啊,这个栗子:(
是的,这是一种痛苦。不,我现在没有一个很好的解决办法。我想这样说:“这个导入的文件只用于扩展选项,可以假定这些扩展是可用的:包括描述符集内的值,但不要尝试解析扩展。”不幸的是,没有办法做到这一点。
您所能做的就是在构建C++版本时包含C#选项,最终将得到C#选项的C++表示。它不是很漂亮,但实际上不会有什么坏处。我实际上没有在C++中这样做过,但是在此之前,我已经为C#选项生成了Java文件。
如果您对如何更改C#端口以改进这一点有任何其他建议,我将很有兴趣听取他们……
发布于 2010-07-12 18:42:47
你能不能不导入你的原型文件,然后导入需要导入的C#的原型文件,然后导入你的原始文件?
https://stackoverflow.com/questions/3227588
复制相似问题