2017-01-30 62 views
0

成功運行配置腳本之後(見Building Qt 5.8 from source - configure: Unknown command line option '-c++11')我就開始構建:構建Qt 5.x的 - ICU unicode的頭失蹤

mingw32-make.exe -j 4 

但我得到了以下錯誤一段時間後, :

In file included from C:/msys64/home/asp/qt5/qtbase/src/xml/dom/qdom.cpp:55:0: 
../../../include/QtXml/5.8.1/QtXml/private/qxml_p.h:1:85: fatal error: ../../../../../../../../../../../home/asp/qt5/qtbase/src/xml/sax/qxml_p.h: No such file or directory 
#include "../../../../../../../../../../../home/asp/qt5/qtbase/src/xml/sax/qxml_p.h" 

我搜索的文件,它就是它應該是:

ls ~/qt5/qtbase/src/xml/sax/ 
qxml.cpp qxml.h qxml_p.h sax.pri 

這是Qt 5.8.1的問題,還是我忘了設置一些選項?我會嘗試5.7,但我不希望有更好的結果。

5.7配置腳本沒有顯示成功消息:

Creating qmake... 
...........................................................................................Done. 
Info: creating stash file C:\msys64\home\asp\qt-build\.qmake.stash 
Info: creating super cache file C:\msys64\home\asp\qt-build\.qmake.super 

有了Qt 5.8有一個消息:

Qt is now configured for building. Just run 'make'. 
Once everything is built, you must run 'make install'. 
Qt will be installed into 'C:\msys64\opt\qt' 

但也許這是正常的,所以我就開始構建:

mingw32-make.exe -j 4 
cd qtbase/ && (test -e Makefile || C:/msys64/home/asp/qt-build/qtbase/bin/qmake.exe -o Makefile C:/msys64/home/asp/qt5/qtbase/qtbase.pro) && C:/msys64/mingw64/bin/mingw32-make -f Makefile 
Info: creating cache file C:\msys64\home\asp\qt-build\qtbase\.qmake.cache 
C:/msys64/home/asp/qt5/qtbase/mkspecs/features/qt_docs_targets.prf:31: 'prepareRecursiveTarget' is not a recognized test function. 
C:/msys64/home/asp/qt5/qtbase/mkspecs/features/qt_docs_targets.prf:31: 'prepareRecursiveTarget' is not a recognized test function. 
C:/msys64/home/asp/qt5/qtbase/mkspecs/features/qt_docs_targets.prf:31: 'prepareRecursiveTarget' is not a recognized test function. 
C:/msys64/home/asp/qt5/qtbase/mkspecs/features/qt_docs_targets.prf:31: 'prepareRecursiveTarget' is not a recognized test function. 
C:/msys64/home/asp/qt5/qtbase/mkspecs/features/qt_docs_targets.prf:31: 'prepareRecursiveTarget' is not a recognized test function. 
C:/msys64/home/asp/qt5/qtbase/mkspecs/features/qt_docs_targets.prf:31: 'prepareRecursiveTarget' is not a recognized test function. 
C:/msys64/home/asp/qt5/qtbase/mkspecs/features/qt_docs_targets.prf:31: 'prepareRecursiveTarget' is not a recognized test function. 
C:/msys64/home/asp/qt5/qtbase/mkspecs/features/qt_docs_targets.prf:31: 'prepareRecursiveTarget' is not a recognized test function. 
C:/msys64/home/asp/qt5/qtbase/mkspecs/features/qt_docs_targets.prf:31: 'prepareRecursiveTarget' is not a recognized test function. 
C:/msys64/home/asp/qt5/qtbase/mkspecs/features/testcase_targets.prf:4: 'prepareRecursiveTarget' is not a recognized test function. 
C:/msys64/home/asp/qt5/qtbase/mkspecs/features/testcase_targets.prf:13: 'prepareRecursiveTarget' is not a recognized test function. 
Unknown generator specified: DUMMY 
mingw32-make[1]: Entering directory 'C:/msys64/home/asp/qt-build/qtbase' 
mingw32-make[1]: Makefile: No such file or directory 
mingw32-make[1]: *** No rule to make target 'Makefile'. Stop. 
mingw32-make[1]: Leaving directory 'C:/msys64/home/asp/qt-build/qtbase' 
Makefile:75: recipe for target 'module-qtbase-make_first' failed 
mingw32-make: *** [module-qtbase-make_first] Error 2 

所以5.7是不可替代的。

我已經嘗試其他版本的Qt Downloads

  • QT-比比皆是 - 開源-SRC-4.8.7.ta​​r.gz
  • QT-比比皆是 - 開源-SRC-5.6.0.7z
  • QT-比比皆是 - 開源-SRC-5.6.2.7z
  • QT-比比皆是 - 開源-SRC-5.7.0.7z
  • QT-比比皆是 - 開源-SRC-5.7.1.7z
  • QT-比比皆是-ope nsource-src-5.8.0.7z

所有版本都失敗,因爲找不到來自unicode子文件夾的一些ICU頭。但是我觀察到一件奇怪的事情:如果我在相應的文件夾中手動啓動失敗命令,則會生成輸出而不會出錯!然後我可以再次開始製作並在幾個文件後重復此過程。但我不能做到全構建這樣...

+0

你有什麼成功?我現在處於相同的情況,但尚未完全獲得MINQW的方式... –

回答