2

我在尝试链接可执行文件的发布版本时遇到一堆链接错误(调试版本没有相同的问题)。比较链接的命令行不会发现任何问题。大致有两种类型的错误,我都无法处理。

第一种抱怨未解析的外部符号_declspec(dllimport)举例:error LNK2019: unresolved external symbol " _declspec(dllimport) public: __thiscall stlpd_std::basic_string,class stlpd_std::allocator >::basic_string,class stlpd_std: :allocator >(class stlpd_std::basic_string,class stlpd_std::allocator > const &)" (_ imp ??0?$basic_string@DV?$char_traits@D@stlpd_std@@V?$allocator@D@2@@ stlpd_std@@QAE@ABV01@@Z) 在函数“public: __thiscall Springfield::generic::runtime_error::runtime_error(class stlpd_std::basic_string,class stlpd_std::allocator > const &)”中引用 (??0runtime_error@generic @Springfield@@QAE@ABV?$basic_string@DV?$char_traits@D@stlpd_std@@V?$allocator@D@2@@stlpd_std@@@Z)

对于更易于阅读的版本(替换所有字符串):错误 LNK2019:未解析的外部符号“__declspec(dllimport)公共:__thiscall string::basic_string,class stlpd_std::allocator >(class string const &)”(_ imp ?? 0?$basic_string@DV?$char_traits@D@stlpd_std@@V?$allocator@D@2@@stlpd_std@@QAE@ABV01@@Z) 在函数“public: __thiscall Springfield::generic::runtime_error: :runtime_error(class string const &)" (??0runtime_error@generic@Springfield@@QAE@ABV?$basic_string@DV?$char_traits@D@stlpd_std@@V?$allocator@D@2@@stlpd_std@@@ Z

第二类错误抱怨未解析的外部符号__CrtDbgReportW

我希望我能对处理这个问题有所了解。

4

2 回答 2

2

从错误看来,您没有将 CRT 作为链接库之一。这是 Visual Studio 2005 中提供的不同 CRT 库的链接。选择最合适的一个并确保它在要链接的库列表中

于 2010-09-24T00:21:30.210 回答
1

看起来您要么包含使用调试设置构建的文件,要么正在混合运行时库(DLL 和静态)。

于 2010-09-24T00:44:59.280 回答