将多个原型文件包含到一个项目中会导致 protobuf_AssignDescriptorsOnce() 已经有一个主体
Including multiple proto files on to one project causes protobuf_AssignDescriptorsOnce() already has a body
我在同一个包下创建了来自服务器的多个原型文件。当我将多个 proto 文件添加到项目时,每个 proto 文件都会生成自己的 .pb.cc 和 .h 文件,并且每个生成的文件都有以下两种方法。我需要将一些生成的 .cc 文件包含到我的项目之一,这会导致以下两个函数的多个定义。
导致 "the function already has a body" 问题的自动生成函数是
1. protobuf_AssignDescriptorsOnce()
2. protobuf_RegisterTypes(const::std::string&)
更改包名称显然可以解决此问题,但原始文件是由服务器提供的,对该文件的任何更改都可能导致所有其他相关客户端发生巨大变化。
如能解决此问题,我们将不胜感激。
此致,
Abilash.G
问题很简单,与protobuf无关。我已将所有生成的 pb.cc 文件直接包含到我的 'stdafx.cpp' 中,而不是将生成的文件添加为导致全局函数 'already has a body' 错误的项目的一部分。
我在同一个包下创建了来自服务器的多个原型文件。当我将多个 proto 文件添加到项目时,每个 proto 文件都会生成自己的 .pb.cc 和 .h 文件,并且每个生成的文件都有以下两种方法。我需要将一些生成的 .cc 文件包含到我的项目之一,这会导致以下两个函数的多个定义。
导致 "the function already has a body" 问题的自动生成函数是 1. protobuf_AssignDescriptorsOnce() 2. protobuf_RegisterTypes(const::std::string&)
更改包名称显然可以解决此问题,但原始文件是由服务器提供的,对该文件的任何更改都可能导致所有其他相关客户端发生巨大变化。
如能解决此问题,我们将不胜感激。
此致, Abilash.G
问题很简单,与protobuf无关。我已将所有生成的 pb.cc 文件直接包含到我的 'stdafx.cpp' 中,而不是将生成的文件添加为导致全局函数 'already has a body' 错误的项目的一部分。