Qt 5.8 msvc 2015编译错误

时间:2017-07-21 02:54:59

标签: visual-studio qt

我已使用离线安装程序qt-opensource-windows-x86-msvc2015_64-5.8.0安装了Qt。我有使用c ++构建工具安装的visual studio社区版2017。因为它的编译器与qt版本不兼容,所以我从http://landinghub.visualstudio.com/visual-cpp-build-tools安装了 visual c ++ build tools 2015 。当我尝试编译项目时,它会给出错误:-1: error: LNK1158: cannot run 'rc.exe'。这是我的qt工具包的样子, enter image description here

enter image description here

有人可以弄清楚这是什么错误以及如何解决它。 感谢。

2 个答案:

答案 0 :(得分:5)

我已经在我自己的机器和几台同事机器上解决了这个问题。

如果安装了Visual Studio 2015和VS 2017,则会发生这种情况。或者更确切地说,安装了多个版本的Windows SDK。发生这种情况时,vcvars32.bat脚本(位于Visual Studio安装目录中)未正确地将资源编译器(rc.exe)的位置添加到PATH。因此,QT Creator运行vcvars32.bat(在Qt Creator中的Option-> Build& Run-> Compilers下指定,但Windows SDK Kit的tools目录未正确添加到PATH环境。

简单的解决方法是将适当版本的RC.exe添加到您的路径中。

从命令行执行此操作:

cd "c:\program files(x86)"
dir /s rc.exe

您将获得多个版本(x86和x64)以及SDK的多个版本。为与vcvars32.bat启动脚本相对应的SDK和构建风格的版本添加rc.exe所在的路径。

例如:

PATH="C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x86";%PATH%

重启Qt Creator,应该修复它。

另一个对我有用的修复方法是卸载所有版本的Visual Studio(以及SQL,Windows SDK,开发工具等所有那些侧面安装)。重启。然后再次干净地安装VS 2017。然后干净地卸载并重新安装所有Qt。这似乎对我有用。度过一个下午的好方法。

答案 1 :(得分:4)

如果你更新到Qt 5.9它支持MSVC 2017.但是,如果你想让它使用5.8,我相信你可能会错过Windows SDK。您可以从Microsoft下载适用于Windows 7,8或10的SDK,只需获取适合您的版本即可。

通过一些谷歌搜索,我发现了一些其他有些相关的解决方案here,& here,我在下面总结了它们:

如果你已经安装了SDK或者它仍然无法运行,那么将rc.exe和rcdll.dll从WindowsSDK文件夹复制到MSVS安装\ VC \ bin文件夹似乎可以解决问题。您也可以尝试将这两个相同的文件复制到Qt的\ Qt *版本号**编译器版本* \ bin。