LNK2001在basic_istream,basic_ostream上出错

时间:2012-10-17 06:35:17

标签: c++ visual-studio

我正试图解决这些链接错误:

error LNK2001: unresolved external symbol "__declspec(dllimport) public void __thiscall std::basic_ostream(char,struc std::char_traits<char>>::_0sfx(void)" 

我使用Visual Studio C ++ 2010,并尝试使用Visual Studio C ++ 6.0,但仍然出现相同的错误。

找到目标文件,所以我怀疑它找不到std库的实现?我在几个库(libc.lib,libcmt.lib,msvcrt.lib等)上尝试了/ nodefaultlib选项,但根本没有改善这种情况。

有人可以解释为什么会出现错误以及我应该在哪里看到吗?

尝试了其他类似问题中提出的解决方案,但它们要么不适用,要么无法解决问题。

由于

2 个答案:

答案 0 :(得分:0)

您应该删除/ nodefaultlib选项。

答案 1 :(得分:0)

如果某些库是静态链接而其他库是动态链接,则可能会出现此问题。

基本上,如果您使用静态版本CRT(编译器切换/MT/MTd)和CRT的动态版本编译了两个代码(切换{{1 },/MD)。 您可以在/MDd

中查看项目的用途

确保所有库都使用与项目相同的开关进行编译。