最近从VS2013升级到VS22015,对应的qt的版本5.7.1版本的vs版本不同而重新安装,装好后编译运行,发现程序报错,
LINK : fatal error LNK1158: 无法运行“rc.exe”
通过全局搜索,发现本地有好多个rc版本,我目标选的vs是8.1
查看了下编辑器的 配置,选择是对的
从而找到此脚本运行C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
程序跳转到了vcvar32.bat,显然我们传的参数%2和%3是空值。
从而找到VCVarsQueryRegistry.bat脚本,打开可以查看,这个脚从注册表去搜索各个目录,但们看到其中一个情况,
从而我们可以修改VCVarsQueryRegistry.bat的user_inputverion或者我们可以修改vcvar32.bat中的传递参数
这样修改就可以找到rc 可以正常编译了。
问题的原因:应该是安装的时候 注册表有些出错了,导致程序无法自动找到对应的rc。
验证:
可以在终端 运行vcvar32.bat,传递x86 参数,一步步调整,刚开始输入rc会报 rc无法找到,当我们修改脚本后,输入rc不在提示找不到,输入where rc可以看到rc具体的位置,重启qtcreator 即可