协议缓冲区2和3位于同一个C++;Linux应用程序 我有一个C++的Linux应用程序,已经使用了Prim2.0./P>
它现在还需要能够解析特定的proto3模式 不幸的是,升级proto2模式不是一个选项;两人都没有降级proto3 我知道设计的味道,但这是我必须要处理的 同时支持这两个人最不痛苦的方式是什么 < >我理解C++ PB库允许动态加载<代码> .PROTO 而不是使用<代码> PotoCo/<代码>。如果我沿着这条路走下去,我是否也必须完全改变proto2位?proto2和proto3动态加载程序能否共存 想到的另一个解决方案是在共享对象中进行proto3解析并动态链接它协议缓冲区2和3位于同一个C++;Linux应用程序 我有一个C++的Linux应用程序,已经使用了Prim2.0./P>,c++,linker,protocol-buffers,C++,Linker,Protocol Buffers,它现在还需要能够解析特定的proto3模式 不幸的是,升级proto2模式不是一个选项;两人都没有降级proto3 我知道设计的味道,但这是我必须要处理的 同时支持这两个人最不痛苦的方式是什么 < >我理解C++ PB库允许动态加载 .PROTO 而不是使用 PotoCo/。如果我沿着这条路走下去,我是否也必须完全改变proto2位?proto2和proto3动态加载程序能否共存 想到的另一个解决方案是在共享对象中进行proto3解析并动态链接它 还有其他想法吗?@AlanBirtles让我意识
还有其他想法吗?@AlanBirtles让我意识到proto2和proto3之间不存在这样的不兼容问题。我只需要确保所有生成的
.pb.*
文件都是使用相同版本的protoc
生成的,我只是尝试将一个带有protobuf 2语法的文件添加到protobuf 3项目中,它不需要做任何特殊的工作。你有什么问题?@AlanBirtles我想你给我指明了正确的方向。生成的Prime2C++文件来自外部源,它们是由旧版本的PotoC生成的,而不是我使用的。我认为proto2和proto3根本不兼容。