0

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

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 选项,但根本没有改善这种情况。

有人可以解释为什么会发生错误以及我应该看哪里吗?

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

谢谢

4

2 回答 2

0

您应该删除 /nodefaultlib 选项。

于 2012-10-17T06:50:11.040 回答
0

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

基本上,如果您同时使用CRT(即编译器开关/MT/MTd)的静态版本和CRT(开关/MD/MDd)的动态版本编译了两个代码。你可以看到你的项目正在使用什么Project Properies - c++ - Code Generaion - Runtime Library

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

于 2012-10-17T08:38:38.503 回答