我有一段大量使用模板的代码,导致错误的名称(长度超过3000个字符)。在使用MSVC 10的发布模式下构建时,这不是问题 - 可能是因为所有内容都按预期内联。但是,当我尝试在调试模式下构建时,我会收到有关未解析的外部符号的链接器错误。它们不可能是外部的,因为它们只是隐式实例化,所以它们的定义肯定存在于翻译单元中。
我观察到的一个奇怪的事情是,虽然一些受损的名称完全出现在错误消息中,但其他名称似乎被截断,其结果看起来像是在末尾附加的哈希值。截断的受损名称和散列的长度一起为255个字符。我假设这是MSVC通过限制名称长度来加速链接的一些技巧。
那么,有没有合理的方法来解决这个烂摊子?