Mat*_*lay 2 linux mono protocol-buffers
我们一直在使用协议缓冲区,并使用protoc生成c ++和python文件,使用protobuf-csharp-port生成c#文件.目前这些是单独完成的,来自linux的c ++和python以及来自windows的c#.我们希望有一个脚本生成所有这些,在linux中运行.
要做到这一点,我试图用单声道运行ProtoGen.exe,但它不会产生任何输出.运行以下命令,但不生成cs文件,也没有错误.
mono ../cs/Packages/Google.ProtocolBuffers/tools/ProtoGen.exe --protoc_dir=/usr/local/bin/ ./subdir/simple_types.proto
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,我错过了一些简单的东西.
我不认为我在Linux上尝试从ProtoGen.exe运行protoc.我很惊讶它没有任何错误,但我们绝对可以调查.(如果你想提出一个问题,那将是非常有帮助的 - 或者当我有机会时我会这样做.)
目前,我建议您首先运行protoc,--descriptor_set_out用于生成.proto文件的二进制(protobuf)版本.这就是ProtoGen.exe首先尝试做的事情,并且失败了它的声音.
一旦你获得了消息描述符的二进制版本(我称之为simple_types.pb),就可以在其上运行ProtoGen.exe.我已经有一段时间了,但我相信你应该能够跑步
mono ../cs/Packages/Google.ProtocolBuffers/tools/ProtoGen.exe ./subdir/simple_types.pb
Run Code Online (Sandbox Code Playgroud)
......它应该神奇地工作.
作为一个可怕的选择,你可以尝试符号链接protoc.exe到protoc您的二进制文件目录.从根本上说,我怀疑这是怎么回事:)