我们有一个非常大的模式(数百个全局元素,数千个全局复杂类型)。当我们使用 Liquid Studio 数据绑定工具从架构生成 C++ 数据绑定时,生成的项目超过了 DLL 导出符号的 64k 符号限制 (65535)。事实上,它完全超出了限制,以至于我们不得不将模式拆分为 6 个不同的模式(具有一些重复的复杂类型),以便将其分解到足以使每个项目都保持在符号导出限制之下。
有更好的选择吗?有什么我可以在 Liquid Studio 中配置的东西,这样它就不会尝试导出这么多符号吗?我在完全相同的架构上使用了另一个工具,并且生成的代码没有这个问题,因为它生成的大部分是带有工厂类的抽象接口来创建所需的对象。因此,唯一需要导出的符号是工厂创建方法。现在我们有点坚持使用 LiquidXML 数据绑定,所以如果我们可以避免每次有更新时拆分模式的所有手动工作,那就太好了。