迁移MFC应用至Visual Studio 2022遇LNK1104错误:无法打开mfc120.lib
修复VS2022迁移MFC项目时LNK1104找不到'mfc120.lib'的设置步骤
这个错误是因为项目还绑定着VS2013版本的MFC库(mfc120.lib对应VS2013),而VS2022使用v143工具集,对应MFC库是mfc143.lib系列,按以下步骤修改设置即可:
- 打开项目属性页:右键项目,选择「属性」
- 确认MFC使用配置:
进入「配置属性」→「常规」,找到「MFC的使用」选项,确保选择「在共享DLL中使用MFC」或「在静态库中使用MFC」,不要保留旧项目的自定义库引用设置 - 清理旧库依赖:
进入「配置属性」→「链接器」→「输入」,查看「附加依赖项」,如果里面手动添加了mfc120.lib直接删除,同时检查是否还有其他旧版本的VC/MFC相关库(比如msvcrt120.lib),一并移除 - 确认平台工具集:
回到「配置属性」→「常规」,查看「平台工具集」,必须选择Visual Studio 2022对应的工具集(比如v143),不要选旧版本(比如v120) - 清理并重新生成:
点击菜单栏的「项目」→「清理解决方案」,之后再执行「生成解决方案」,确保所有旧的中间文件和引用都被更新
如果以上步骤还没解决,检查项目的预编译头文件(比如stdafx.h)里是否有强制指定旧库版本的宏定义,或者是否存在自定义构建脚本硬编码了旧库路径,找到后修改为VS2022对应的配置即可。
内容的提问来源于stack exchange,提问作者namith
相关产品推荐
相关产品推荐

