2010-03-16 78 views
1

我从VS2008转换一个项目,VS2010并得到了链接错误性病:ifstream的/ ofstream的的std :: iostream的链接错误VS2010 RC1

error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::is_open(void)const " ([email protected][email protected][email protected]@[email protected]@@[email protected]@QBE_NXZ) 

生成静态(/ MT)或DLL(/ MD)与unicode或标准和释放/调试给出了相同的错误。 手动将libcpmtd.lib(静态)或msvcprtd.lib(dll)添加到链接程序没有帮助。

有没有其他人看到过这个?

回答

1

如果你没有得到这个特定问题的答案,还有,我已经取得了巨大成功使用蛮力的方法:

使用Visual Studio 2010中,创建同一类型的新项目某个临时文件夹(使用相同的项目和解决方案名称),并确保使用与VS2008项目相同的选项。

此时,您可以简单地使用可视化比较工具(我喜欢BeyondCompare)将新VS2010项目文件与现有VS2008项目文件进行比较。项目文件是XML,因此可以直观地比较它们。从这个比较中,我通常可以知道哪些库和其他选项需要更改。

如果旧的项目文件有太多变化(使比较困难),重复上述步骤(这次使用VS2008)创建另一个纯粹的项目,将其写入不同的临时位置。

现在您应该可以比较VS2008和VS2010样板文件,以了解补码和链接设置有何不同。

+0

谢谢你希望避免这种情况 - 这是一个复杂的项目 – 2010-03-16 14:21:35