其實問題的本質是,系統中沒有vs2015的注冊信息導致
一開始是報:
"'cl' 不是內部或外部命令,也不是可運行的程序"解決方案
通過在環境變量中添加了C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin 路徑解決,但是這不治本質
后來能編譯后,報缺少h文件的問題。
深入了解后,發現是qt使用了msvc的編譯版本:Microsoft Visual C++ Compiler 14.0 (amd64)
在qt中應用此版本的編譯器后,會自動調用:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.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.0\VC\bin\amd64\vcvars64.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安裝工作異常順利。
不過折騰的整個過程,非但不是浪費時間,反而非常有用。理解了安裝過程的各個步驟,學到了非常多知識。