如何修复从 VS2010 升级到 VS2013 的项目中的链接器错误,其中链接器正在寻找不存在的 MFC 库文件?
Posted
技术标签:
【中文标题】如何修复从 VS2010 升级到 VS2013 的项目中的链接器错误,其中链接器正在寻找不存在的 MFC 库文件?【英文标题】:How do I fix the linker error in project upgraded from VS2010 to VS2013 where the linker is looking for an MFC library file that is not present? 【发布时间】:2013-10-26 03:12:07 【问题描述】:我正在将 VS2010 项目升级到 VS2013。我的一个应用程序正在寻找 mfc120.lib(或用于调试构建的 mfc120d.lib)。但是,VS2013 似乎附带 mfc120*u*.lib 和 mfc120*u*d.lib(可能是 unicode 版本,这是 VS2013 支持的唯一 MFC 版本)。
这是我得到的链接器错误:
LINK : fatal error LNK1104: cannot open file 'mfc120.lib'
LINK : fatal error LNK1104: cannot open file 'mfc120d.lib'
我正在查看项目属性表,但没有看到任何用于指定要链接到哪个 MFC 库文件的设置。它甚至没有出现在属性表的“链接器-->命令行”页面中。
谁能帮我弄清楚如何让项目链接到正确的库文件?
非常非常感谢!
【问题讨论】:
【参考方案1】:有时问题涉及无法使用 Unicode 支持重新编译的代码。在这种情况下,请下载多字节库:
http://www.microsoft.com/en-us/download/details.aspx?id=40770
【讨论】:
【参考方案2】:在你的编译命令行中,可能有一个
/D "_MBCS"
应该是这样的
/D "_UNICODE"
这实际上就像放一个
#define _UNICODE
在您的源文件的顶部,但我认为它会影响哪些库被很好地拉入。
请参阅MSDN docs 了解更多信息。
【讨论】:
谢谢。对不起,我不能给你投票。我还没有足够的声望。 您或许可以接受答案。【参考方案3】:在 VS2013 中,这些可作为插件使用:
http://msdn.microsoft.com/en-us/library/dn251007.aspx
【讨论】:
以上是关于如何修复从 VS2010 升级到 VS2013 的项目中的链接器错误,其中链接器正在寻找不存在的 MFC 库文件?的主要内容,如果未能解决你的问题,请参考以下文章