次のエラーが表示されます。
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 を使用します。