Qt Creator编译项目,报错,error: LNK1158: 无法运行“rc.exe”
问题
LNK1158: cannot run ‘rc.exe’
调查
由于以前在 Target Platform Version 设置为 8.1 的时候编译是正常的,所以我猜想,是不是这个 rc.exe 在 8.1 版本的 SDK 中存在,但在 10.0.17134.0 版本的 SDK 中被遗漏了。
果然在 8.1 版本的 SDK 中发现了 rc.exe,与此同时还看到了一个 rcdll.dll。
目录:
C:\Program Files (x86)\Windows Kits\8.1\bin\x86
Windows 10 SDK 的目录结构和 Windows 8.1 SDK 的目录结构有所不同:
在 10.0.17134.0 的目录下发现 rc.exe 和 rcdll.dll 是存在的:
所以说,rc.exe 和 rcdll.dll 文件并不缺失,只是编译的时候连接器没有找到它们。
解决
我也不知道如何让链接器找到这两个文件,且找到正确的版本。
所以解决方法有两种:
解决方法1:
找到rc.exe的放置路径,比如C:\Program Files (x86)\Windows Kits\8.1\bin\x86
然后添加到环境变量PATH中,重启Qt即可!
解决方法2:
C:\Program Files (x86)\Windows Kits\8.1\bin\x86
这个目录下的 rc.exe 和 rcdll.dll 拷贝到我的 Visual C++ 的 VC/Bin 目录下:
D:\Apps\x86\Microsoft\Visual_Studio\v14.0\VC\bin
注意我的 Visual C++ 的安装目录可能和你的不同,你需要用你自己的的 VC/Bin 目录。
然后再编译程序,错误解决了: