我想用微軟的64位編譯器來構建Qt。我從the Qt downloads page下載了qt-everywhere-opensource-src-4.8.0.tar.gz
,並將其提取到D:\Qt
。啓動64跨工具命令提示符後,我跑到下面的命令:當我嘗試從Visual Studio 11 Express Beta中的源代碼構建Qt時,爲什麼會收到此錯誤?
set QTDIR=D:\Qt set PATH=%PATH%;%QTDIR%\bin configure.exe -debug-and-release -opensource -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-style-windowsxp -qt-style-windowsvista -platform win32-msvc2010
的過程還算比較順利了幾分鐘,但具有下列錯誤突然停止:
... qurl.cpp qsettings_win.cpp NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 11.0\VC\BI N\x86_amd64\cl.EXE"' : return code '0x2' Stop. Building qmake failed, return code 2
我有沒有線索什麼是導致錯誤或如何處理它 - 錯誤信息遠遠沒有幫助。下面是我的系統是這樣的:
- 的Windows 8消費者預覽版的32位
- 的Visual Studio 11.0.50.214.1測試版Express,用於Windows 8的
編輯:如果我將cd
納入qmake
目錄並運行nmake
,我們發現實際的錯誤:
qfilesystemengine_win.cpp qfsfileengine_win.cpp D:\Qt\src\corelib\io\qfsfileengine_win.cpp(64) : fatal error C1083: Cannot open include file: 'shlobj.h': No such file or directory D:\Qt\src\corelib\io\qfilesystemengine_win.cpp(66) : fatal error C1083: Cannot o pen include file: 'shlobj.h': No such file or directory NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 11.0\VC\BI N\x86_amd64\cl.EXE"' : return code '0x2' Stop.
爲什麼shlobj.h
丟失?
''應該在Program Files \ Windows Kits \ 8.0 \ Include \ um中。有可能(a)Qt沒有將包含路徑傳遞給編譯器,或者(b)Windows 8的Visual Studio 11 Beta Express不包含此頭文件。要了解,請查看該文件是否存在於磁盤上。請注意,Express for Windows 8僅支持創建Metro風格的應用程序。 –
2012-03-02 18:45:28
@JamesMcNellis:那麼......我需要回到VS Express 2010來構建Qt? (順便說一句,該文件不存在。) – 2012-03-02 18:47:18