其实问题的本质是,系统中没有vs2015的注册信息导致
一开始是报:
"'cl' 不是内部或外部命令,也不是可运行的程序"解决方案
通过在环境变量中添加了C:Program Files (x86)Microsoft Visual Studio 14.0VCin 路径解决,但是这不治本质
后来能编译后,报缺少h文件的问题。
深入了解后,发现是qt使用了msvc的编译版本:Microsoft Visual C++ Compiler 14.0 (amd64)
在qt中应用此版本的编译器后,会自动调用:C:Program Files (x86)Microsoft Visual Studio 14.0VCvcvarsall.bat
此bat脚本会根据版本信息,自动调用与之相应的bat,代码如下,也可以自己查看全部代码:
:check_platform
if /i %1 == x86 goto x86
if /i %1 == amd64 goto amd64
if /i %1 == x64 goto amd64
我的版本实际调用时,时跳转到了:C:Program Files (x86)Microsoft Visual Studio 14.0VCinamd64vcvars64.bat
但因为,注册表中没有vs2015信息,会在此语句出报错:
:start
@call :GetVSCommonToolsDir
@if "%VS140COMNTOOLS%"=="" goto error_no_VS140COMNTOOLSDIR
直接跳到:
:error_no_VS140COMNTOOLSDIR
@echo ERROR: Cannot determine the location of the VS Common Tools folder.
@goto end
别的博客解决办法,在我这里都没没有效果,其中手写部分bat代码,将获取路径代码换成绝对路径代码,但是问题是涉及到的环境路径太多了,最终放弃
修改环境变量的办法也无法奏效。
最终无可奈何,安装了另外版本的win10,之后所有的qt安装工作异常顺利。
不过折腾的整个过程,非但不是浪费时间,反而非常有用。理解了安装过程的各个步骤,学到了非常多知识。