0

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

导致“函数已经有主体”问题的自动生成函数是 1. protobuf_AssignDescriptorsOnce() 2. protobuf_RegisterTypes(const ::std::string&)

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

任何解决此问题的帮助将不胜感激。

问候, Abilash.G

4

1 回答 1

0

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

于 2017-11-15T07:10:11.360 回答