VS2013 C ++ LINK:致命错误LNK1104:无法打开文件'mfc110ud.lib'

时间:2015-12-08 14:16:59

标签: c++ visual-studio-2012 visual-studio-2013 unicode linker

问题的背景(历史):

  1. 将此50 + k行C ++项目从VC6升级到VS2008再到VS2012(全部为32位)后,一切都很好。
  2. 升级到VS2013(Premium)以与第三方程序兼容,所有这些都很好,经过(痛苦)微调全部到Unicode,除了:编辑和继续(EnC)不再工作。

    在论坛上报告的EnC问题上有一些帖子,其中一篇提示VS2013'Ultimate'中的一个设置正常(即禁用新的IntelliTrace,仅在该版本中提供)。注意:在VS2015中,MSFT显然已经解决了这个问题,但第三方程序尚未针对该版本进行验证。

  3. 已经安装了VS2013旗舰版:一切都很好但是EnC仍然无法正常工作,例如微调对话框时会非常遗漏;从而
  4. 在VS2012中打开项目(能够使用EnC),并更改项目>属性>配置>一般>平台工具集为'VS110'(VS2012的名称):

    - >链接:致命错误LNK1104:无法打开文件'mfc120ud.lib'(注意:这是'VS2013'平台的MFC调试Unicode dll库)

  5. 现在,当我在VS2013 IDE中重新打开项目时,使用相同的VS110平台工具集,在构建时弹出相同的错误,

  6. 当我将Platform Toolset更改为'VS120'(VS2013的名称)时,错误更改为LINK:致命错误LNK1104:无法打开文件'mfc110ud.lib',即VS2012的MFC调试Unicode库。 ..

  7. 我发现错误和环境令人费解。最后三个步骤是可重复的。 IDE在任何更改之前关闭。操作系统重启会改变什么,如果是,为什么?是否应删除配置文件(如.vcxproj,.vcxproj.user,.suo,.sdf,.sln或其他)?

    非常感谢所有帮助理解和解决这种行为。

2 个答案:

答案 0 :(得分:0)

问题是" CharSet"。每个charset都会构建自己的* .dll。你必须选择" MBCS"不是" Unicode" in"项目 - >属性 - > ConfigurationProperties - >常见 - > ProjectDefault - >字符集"

答案 1 :(得分:-2)

使用VS2012,我尝试将平台更改为Win32。错误得到修复。

相关问题