Windows 下 Qt Creator使用MSVC构建套件时显示 error: LNK1158: 无法运行“rc.exe”,这个原因是Qt Creator并不知道我们的rc.exe文件位置所引起的。
我的开发机器环境
- 已安装Visual Studio 2022
- 已安装Qt Creator
- Windows11 x64
查看当前Qt Creator所用的MSVC构建套件所使用的Windows Kits版本信息
打开 Qt Creator,任意新建一个工程,在套件选择的界面中可以看到这里探测到了我的MSVC2015,这里我只选择MSVC2015 64bit这个套件,如图1所示。
工程创建完毕之后,我们进行构建操作,可以发现此时显示出了错误信息 error: LNK1158: 无法运行“rc.exe”
此时我们点击 左侧的 项目,然后找到我们所使用的构建套件下的Build,并将构建环境详情展开,如图所示。
从环境变量列表中可以看到,这里有很多环境变量信息,有些环境变量是系统中已经存在的,有些是Qt Creator所添加的。这里我们着重关注 下面2个环境变量
- WindowsSdkDir
- WindowsSDKVersion
在我的计算机中,环境变量 WindowsSdkDir 对应的是 C:\Program Files (x86)\Windows Kits\10\ ,表示当前的WindowsSDK的目录,环境变量WindowsSDKVersion 对应的是 10.0.18362.0\ ,从这连个内容我就可以知道Qt 在这个构建套件下所需要的rc.exe文件应该是 C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\ ,我们进入这个目录查看一下,如图所示。
这里有一个arm、arm64和x86、x64,这里我们只需要关注x86和x64即可,例如这里我们工程用的是MSVC2015 x64构建套件,所以我们进入到x64目录下找到rc.exe和rcdll.dll这俩文件,将其拷贝到
[QtCreator安装目录]\[Qt版本号]\[构建套件]\bin 这个目录下即可,我的电脑上的对应目录是 D:\Applications\QtCreator\5.12.2\msvc2015_64\bin ,如图所示,是拷贝后的结果。
拷贝完成之后,再次回到我们的Qt Creator中进行构建,就可以发现此时已经OK了。