2015年8月6日 星期四

QT5.5 編譯

QT4和QT5有幾項重大的改變
  1. QT5目錄用GIT的子模組模式,清除source 資料夾已無法用make 呼叫指令的方式,如果要編譯跨平台且版本相同者,請用GIT下載QT Source 編譯,清除資料夾時則用GIT指令清除。(QT5 git會花半天以上時間,請注意)
  2. QT5捨棄2D繪圖方式而使用OpenGL的3D引擎,故Windows 建議開啟OPENGL 編譯,且建議編譯Angle,但目前已知Mingw-w64無法編譯X86的Angle,所以X86我使用Desktop模式。
  3. QT5使用了ICU這是我最看好的,我可不想看到我的姓再次變成「?」或「 」,但...要編譯ICU。
 言規正傳,編譯ICU吧。
  1. 首先下載ICU 55.1(zip版)
  2. 下載Build.sh
  3. 修改Build.sh內第2行和第3行路徑,第2行為ICU Source路徑,第3行為你目前Build.sh檔案路徑,此外編譯出來的檔案會在Build.sh目錄下以X86、X64、Debug、Release建置。
  4. 選擇編譯X86還是X64,X86則用mingw32_shell.bat 開啟Msys2,X64則為mingw64_shell.bat
  5. 切到Build.sh的目錄
  6. 執行./Build.sh
PS:如果對這上段文章疑惑不知如何處理,請先學會使用MSYS2,及看懂Bash Shell Script,否則下段也別看了。

接下來,開始準備QT5編譯所需的材料。
  1. GIT(不會的人請先去惡補),windows推荐TortoiseGit+Git 
  2. Perl
  3. Python
  4. 上一篇MSYS2最後的各個軟體和模組
第2、3項裝完系統環境變數(PATH)有路徑即可。 

開始編譯QT5.5.0
  1. 首先下載編譯用的所有BAT檔到要建立QT5Lib的資料夾:QT5.5.0 BAT
  2. 修改MinGW.bat 中的第1行來指定QT5的Source路徑
  3. 修改MinGW.bat 中的第13行來指定ICU的來源路徑
  4.  MinGW.bat 中的第14行可以自行修改要編譯項目
  5.  用一般命令提示字元執行要編譯的類型如 X86 Debug就選MinGW_X86_debug.bat,由此而推。
  6.  如果要編譯VS2010版就不詳細寫了,難度不如MinGW,自行摸索可以提升自己解決問題的能力。   
PS:此編譯無法編譯Webkit因為網路上說他太複雜了,所以先忽略跳過不編譯。