我有一个 DLL 项目,它可以编译、链接并与 Visual Studio 6 一起正常工作。
现在我已将它加载到 Visual Studio 2010。在导入旧的 .dsp 文件期间,VS2010 要求我转换为 .vcxproj 文件。之后,我尝试编译新转换的项目,但在调试构建中偶然发现了这个奇怪的链接器错误:
error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public: struct oapc_bin_head * const & __thiscall std::_Deque_const_iterator<struct oapc_bin_head *,class std::allocator<struct oapc_bin_head *> >::operator*(void)const " (??D?$_Deque_const_iterator@PAUoapc_bin_head@@V?$allocator@PAUoapc_bin_head@@@std@@@std@@QBEABQAUoapc_bin_head@@XZ)
_DEBUG 编译开关在调试模式下定义,NDEBUG 在发布模式下定义。令人惊讶的是,在发布模式下,错误完全不同:
error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl std::_Xlength_error(char const *)" (__imp_?_Xlength_error@std@@YAXPBD@Z) referenced in function "protected: void __thiscall std::deque<struct oapc_bin_head *,class std::allocator<struct oapc_bin_head *> >::_Xlen(void)const " (?_Xlen@?$deque@PAUoapc_bin_head@@V?$allocator@PAUoapc_bin_head@@@std@@@std@@IBEXXZ)
任何想法在项目文件转换过程中丢失了什么?
谢谢!