我们有一个 c++ 库,我们正在为该库自动生成 COM 接口。所以我自动生成了 IDL 文件,一切正常。但是随着时间的推移,当更多接口被添加到 COM 时,我们开始收到错误
1> Total Format String size = 69336
1> midl : error MIDL2379: the compiler reached a limit for a format string representation. See documentation for advice.
我在 VS2008 和 VS2010 中都遇到了这个错误。
谁能帮我解决这个问题。我搜索了整个互联网,找不到合适的解决方案。Microsoft Connect中报告了一个错误,但其状态为关闭。他们建议的一种解决方法是拆分 IDL 文件,这在我的情况下是不可能的,因为接口相互依赖。
我上传了一个示例 IDL 文件SampleGenerated.idl
这是midl的命令行。
/W1 /nologo /char signed /env win32 /h "SampleGenerated_h.h" /tlb "Debug\SampleGenerated.tlb"