VS2013迁移至VS2022时链接库找不到的规范解决方法咨询
解决VS2013迁移到VS2022后LNK1104找不到运行时库的规范方法
你遇到的是迁移后项目配置与VS2022默认路径不匹配的问题,手动添加库路径只是临时 workaround,以下是更规范的解决思路:
重置平台工具集与Windows SDK配置
右键项目→属性→配置属性→常规:- 确认
平台工具集选择v143(VS2022对应的工具集版本),不要保留VS2013的v120; Windows SDK版本选择VS2022安装时默认的最新版本(比如10.0.22621.0)。切换后VS会自动更新所有库的搜索路径,无需手动指定。
- 确认
匹配运行时库的编译选项
右键项目→属性→配置属性→C/C++→代码生成:- Debug模式下,
运行时库选择多线程调试(/MTd)或多线程调试 DLL(/MDd):前者对应libcmtd.lib,后者对应msvcrtd.lib+ucrtd.lib; - Release模式下选对应非Debug版本的选项。确保这个配置和项目实际依赖的运行时类型一致,VS会自动链接对应库,不用手动添加依赖。
- Debug模式下,
修复MFC相关配置(若项目使用MFC)
右键项目→属性→配置属性→常规:- 确认
MFC的使用选项与当前配置匹配:Debug模式下选在共享DLL中使用MFC会自动链接uafxcwd.lib,选在静态库中使用MFC则对应静态版本的MFC库。如果之前是VS2013的MFC配置,切换后VS会自动关联正确的库路径。
- 确认
清理自定义依赖与重置项目属性
- 右键项目→属性→配置属性→链接器→输入,检查
附加依赖项里是否有手动添加的旧库路径或文件名,全部删除,让VS自动管理依赖; - 若配置混乱,可直接删除项目目录下的
.vcxproj.user文件(该文件保存用户自定义配置),重启VS后会生成默认配置。
- 右键项目→属性→配置属性→链接器→输入,检查
检查VS2022组件完整性
打开VS Installer,确认已安装以下组件:C++ MFC for latest v143 build tools(因为uafxcwd.lib属于MFC库);- 对应的
Windows SDK版本。若缺失,安装后重启项目即可。
内容的提问来源于stack exchange,提问作者scirdan
相关产品推荐
相关产品推荐

