VS2019调试C++报LNK1158错误无法运行rc.exe如何修复
问题根因
你搜到的将文件复制到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin的方案仅适用于VS2012(内部版本号11.0),和VS2019完全不兼容。VS2019重构了整个编译工具链、SDK的目录结构和加载逻辑,手动往安装目录复制文件不仅路径对不上,还会破坏VS的文件校验机制,后续更新、编译时会出更多异常。
你代码里引入的头文件:
#include <iostream> #include <windows.h> #include <tlhelp32.h> #include <tchar.h>
其中iostream属于C标准库,其余三个是Windows SDK自带头文件,编译报错本质是创建项目时没有选对C桌面开发对应的工作负载,或是项目配置的SDK版本、平台工具集和本地安装环境不匹配,根本不需要手动复制任何系统文件。
解决步骤
- 补装缺失的开发组件
打开Visual Studio Installer,找到已安装的VS2019 Community条目,点击「修改」,在「工作负载」标签页勾选使用C++的桌面开发,右侧安装详情栏确认勾选「Windows 10/11 SDK」(选择和你当前系统匹配的版本即可)、「MSVC v142 - VS 2019 C++ x64/x86生成工具」,点击修改等待安装完成。 - 核对项目基础配置
装完组件重启VS打开项目,右键项目名称选择「属性」:- 窗口顶部「配置」选「所有配置」,「平台」选你需要编译的目标平台(x86或x64即可,不要选默认ARM平台)
- 进入「配置属性-常规」页,确认「Windows SDK版本」选中你刚才安装的对应SDK版本,不要留空或选不存在的版本
- 确认「平台工具集」选中
Visual Studio 2019 (v142)
- 核对头文件搜索路径
还是在项目属性页,进入「VC++目录-包含目录」,确认配置里存在$(WindowsSDK_IncludePath)和$(VC_IncludePath)两个宏值即可,不要手动硬编码写死磁盘路径,所有系统头文件、标准库路径都通过VS内置宏自动识别。
禁止手动复制头文件、库文件到VS安装目录:VS2017及之后的版本都采用了实例隔离的工具链部署逻辑,手动修改安装目录下的文件会触发VS自动修复机制,直接覆盖你改动的内容,严重时会导致整个开发环境损坏。
如果以上操作完成后还是报错,直接新建一个「Windows桌面向导」类型的空项目,把现有代码复制到新项目里编译即可,新建项目会自动加载所有默认编译配置,不会出现路径不匹配的问题。
内容的提问来源于stack exchange,提问作者Moldy
相关产品推荐
相关产品推荐

