将多个原型文件包含在一个项目中会导致protobuf_AssignDescriptorsOnce()已经有一个主体



我从在同一包下创建的服务器获得了多个原型文件。当我将这些多个原型文件添加到项目中时,每个原型文件都会生成自己的 .pb.cc 和 .h 文件,并且每个生成的文件都有以下两种方法。我需要将一些生成的 .cc 文件包含在我的一个项目中,这会导致以下两个函数的多个定义。

自动生成的函数导致"函数已经有主体"问题1. protobuf_AssignDescriptorsOnce((2. protobuf_RegisterTypes(常量 ::标准::字符串&(

更改包名称显然可以解决此问题,但是proto文件是由服务器提供的,该文件上的任何更改都可能导致所有其他依赖客户端发生巨大变化。

任何有助于解决这个问题的帮助将不胜感激。

问候阿比拉什·

这个问题很简单,与protobuf无关。我已将所有生成的 pb.cc 文件直接包含在我的"stdafx.cpp"中,而不是将生成的文件添加为项目的一部分,这会导致全局函数出现"已经有一个正文"错误。

最新更新