我怎么能解决MSVC对受损名称长度的限制?

时间:2015-12-15 14:35:55

标签: c++ visual-studio-2010 linker-errors name-mangling

我有一段大量使用模板的代码,导致错误的名称(长度超过3000个字符)。在使用MSVC 10的发布模式下构建时,这不是问题 - 可能是因为所有内容都按预期内联。但是,当我尝试在调试模式下构建时,我会收到有关未解析的外部符号的链接器错误。它们不可能是外部的,因为它们只是隐式实例化,所以它们的定义肯定存在于翻译单元中。

我观察到的一个奇怪的事情是,虽然一些受损的名称完全出现在错误消息中,但其他名称似乎被截断,其结果看起来像是在末尾附加的哈希值。截断的受损名称和散列的长度一起为255个字符。我假设这是MSVC通过限制名称长度来加速链接的一些技巧。

那么,有没有合理的方法来解决这个烂摊子?

0 个答案:

没有答案