这似乎是一个常见的错误,但大多数人在线选择忽略警告并继续前进。我不想忽视这个警告。
基本上,当使用__declspec(dllexport)将项目转换为使用dll时,编译器在处理模板和stl对象时遇到问题。列出了问题的解释和建议的解决方案here。我已经实现了为地图建议的巨型#define语句,但无济于事。
你是如何做到这一点的??我的代码中充斥着像wchar_ts和std :: maps这样的东西,所以希望这个解决方案不涉及为每个类编写远程复杂的东西!
答案 0 :(得分:1)
阅读this similar thread,以便对该主题进行详细讨论。我会建议以下任何一种:
template
compiler firewall或pimpl
背后的所有template
相关类型和界面。在使用链接器从Visual C ++ 6.0,2003到2003再到2005之后,我绝不会__declspec(dllexport)
任何有template
,bool
,{{1}的内容},或再次签名中的wchar_t
。实际上,我们刚刚完全停止使用DLL。生活现在变得如此简单;)