2016-01-25 240 views
0

我使用Qt創建器中的vs2013編譯器構建了一個Qt項目(qwt)。當我打開.pro文件,並期待在構建步驟我看到:使用visual studio構建qt項目

  • QMAKE:qmake.exe qwt.pro -r -spec Win32的msvc2013
  • 品牌:NMAKE.EXE在C:\ QWT -6.1.2

當我構建項目時,一切正常,項目生成沒有錯誤。到現在爲止還挺好。

但是,當我嘗試使用命令行構建此項目時,在nmake步驟中出現錯誤。我已經使用了與上面相同的命令(並且我確定我使用的是相同版本的qmake/nmake)。

...\QtCore\qglobal.h(38) : fatal error C1083: Cannot open include 
file: 'stddef.h': No such file or directory 

我的問題是,Qt做了什麼更多的工作,使項目建立在Qt的創造者,而不是從命令提示符?我怎樣才能在命令提示符下複製這種行爲?我這樣做是爲了讓我可以創建一個批處理文件來構建項目(在沒有安裝Qt創建器的機器上)。

+1

你打開了一個正常的cmd會話嗎?要在命令行上構建visual studio,您應該執行相應的'vcvars.bat'(vcvars32或vcvars64)文件來設置環境。或者打開專門的「VS2013 x64本地命令提示」快捷方式,爲您做到這一點 – PeterT

+0

不,我沒有。在我執行正確的.bat文件後,它就起作用了。如果你添加這個答案,我可以接受它。 – Frank

回答

3

爲了從命令行使用Visual Studio編譯環境,您需要調用vcvars批處理腳本來正確設置路徑。

或者撥打C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64文件夾中的vcvars64.bat文件夾(即用於VS2013,您可以用任何Visual Studio版本替換「12.0」)。

或在C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin文件夾中的vcvars32.bat

或者使用vcvarsall.bat x86vcvarsall.bat x64調用的腳本中C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC

或者Visual Studio中的沿VS2013 x64 Native Tools Command Prompt其中調用這些腳本的線條稱爲啓動菜單中創建快捷方式。

1

很可能是Qt Creator已將其他變量添加到構建環境中,當您嘗試通過cmd手動編譯時,不會顯示這些變量。

如果你在Qt CreatorProjects部分有Build的信息。展開Build Environment信息並檢查是否有與您的計算機全局環境設置不同的內容。

相關問題