Flatbuffers 没有生成 Get* 方法,但是生成了 *Builder(在 C++ 中)?
Flatbuffers didn't generate a Get* method, but did generate *Builder (in c++)?
我最近开始尝试使用平面缓冲区,但遇到了一个非常奇怪的问题。我能够将 flatb 模式转换为 c++ 并编译我的 c++ 代码(包括生成的 c++)而不会出错。我什至可以使用平面缓冲区 MyEventBuilder(...)
对对象进行编码。但是,没有相应的GetMyEvent(...)
方法!
我在 flatc 生成的 .h 文件中搜索 GetMyEvent
,但没有显示任何相关内容。显然我做错了什么,这个问题太大了,不能只是一个错误。但是,我非常密切地关注了文档。我也在 flatbuffers google 群里发了这个问题,目前还没有回复。
还有其他人看过吗?任何可能导致此问题的想法(我希望并假设这只是我的一个愚蠢错误,而不是平面缓冲区的问题)?
TLDR:flatb 生成了一种将我的 C++ 对象编码为字节数组的方法,但不是一种将字节数组转换回 C++ 对象的方法!
您的 Flatbuffer 定义中是否定义了 root_type
?我发现,Get methon 只为 table 生成并定义了这个。
我最近开始尝试使用平面缓冲区,但遇到了一个非常奇怪的问题。我能够将 flatb 模式转换为 c++ 并编译我的 c++ 代码(包括生成的 c++)而不会出错。我什至可以使用平面缓冲区 MyEventBuilder(...)
对对象进行编码。但是,没有相应的GetMyEvent(...)
方法!
我在 flatc 生成的 .h 文件中搜索 GetMyEvent
,但没有显示任何相关内容。显然我做错了什么,这个问题太大了,不能只是一个错误。但是,我非常密切地关注了文档。我也在 flatbuffers google 群里发了这个问题,目前还没有回复。
还有其他人看过吗?任何可能导致此问题的想法(我希望并假设这只是我的一个愚蠢错误,而不是平面缓冲区的问题)?
TLDR:flatb 生成了一种将我的 C++ 对象编码为字节数组的方法,但不是一种将字节数组转换回 C++ 对象的方法!
您的 Flatbuffer 定义中是否定义了 root_type
?我发现,Get methon 只为 table 生成并定义了这个。