我收到这些错误:
1>test.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)" (__imp_??_D? $basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ) referenced in function _main
1>test.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char>>(void)" (__imp_??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ) referenced in function _main
此测试代码工作正常:
int main(int argc, char **argv)
{
std::ofstream game_record_output;
}
直到我包含一个从 VS 2003 .NET 转换的旧项目中的 .h
首先,我认为它可能有一些与此相关的问题:
http://msdn.microsoft.com/en-us/library/8h8eh904(v=vs.90).aspx
但是,我已经检查过只有 MSVCRT.LIB 和 MSVCPRT.LIB 被链接,所以旧的 iostream 没有被链接......
我不确定为什么会发生这种情况,我假设在包含链中包含了一些错误的文件,但是我已经在包含链中搜索了旧的 iostream .h 文件(即:(fstream.h,iomanip. h、ios.h、iostream.h、istream.h、ostream.h、streamb.h 和 strstrea.h))
那么,我还有什么需要检查的吗?
该项目使用MFC。