星期六, 4月 19, 2014

[Qt] 編譯 libqxt on Qt5


   前言:因為某個專案需要用到 libqxt,且因為我先安裝了 Qt 5.2.1,所以如何將 libqxt 加入到專案裏著實讓我困擾了一陣子。找了很久才終於讓我找到 編譯 libqxt 的方法,也讓專案順利編譯出來。

為什麼這麻煩的原因在於 libqxt 原先只支援 Qt4 而不支援 Qt5,因此要使用在 Qt5上一定要重新編譯。編譯方法主要參考 How to Use LibQxt with Qt Creator 這篇文章,另外在專案修改的部份則參考 Handling_CSV ,此文也可在前面的文章中連結到。

環境: Qt5.2.1 on Windows 7 32bit

以下為 How to Use LibQxt with Qt Creator 中的編譯方法簡介:

1. 首先至 libqxt 官網下載 master 分支。下載頁  直接下載Master.zip

2. 解壓縮後建議更改目錄檔名為 libqxt-qt5 並將其與 Qt5.2.1 一起放置在 Qt 目錄下,如下圖。
這樣作的好處是之後容易識別。因為原先的目錄名稱後面為一串無法閱讀的編碼 。


3. 確定 qmake 與 mingw32-make的執行目錄,被寫在系統環境變數 PATH 中 。在我的環境中分別為 C:\Qt\Qt5.2.1\5.2.1\mingw48_32\bin C:\Qt\Qt5.2.1\Tools\mingw48_32\bin
接著在 libqxt-Qt5 的目錄中,按住 shift 鍵,滑鼠右鍵點擊目錄空白處。在出現的功能選單中,選擇 在此處開啟命令視窗 ,接著在命令視窗中,依序鍵入下列指令。
    
    (1) configure.bat
    (2) mingw32-make

如下圖所示
    building-libqxt

 然後等個數分鐘。libqxt 就編譯完了 。

4. 然後分別將以下目錄中的 所有.h 檔(即標頭檔)從前面的目錄複製到後面的指定目錄。如下所示:

  • C:\Qt\libqxt-Qt5\src\bdb          -> C:\Qt\libqxt-Qt5\include\Qxtbdb
    C:\Qt\libqxt-Qt5\src\designer  -> C:\Qt\libqxt-Qt5\include\QxtCore
    C:\Qt\libqxt-Qt5\src\network   -> C:\Qt\libqxt-Qt5\include\QxtNetwork
    C:\Qt\libqxt-Qt5\src\sql           -> C:\Qt\libqxt-Qt5\include\QxtSql
    C:\Qt\libqxt-Qt5\src\web         -> C:\Qt\libqxt-Qt5\include\QxtWeb
    C:\Qt\libqxt-Qt5\src\widgets   -> C:\Qt\libqxt-Qt5\include\QxtWidgets
    C:\Qt\libqxt-Qt5\src\zeroconf  -> C:\Qt\libqxt-Qt5\include\QxtZeroconf

Windows 7 的使用者可以利用資料夾的分組方式功能,以類型分組來快速選取所有的 .h 檔案。

5. 接著在 .pro 專案檔中加入以下兩個部份。首先加入

       CONFIG  += qxt
       QXT     += core gui

接著依照中專案中所引用的函式而定再加入下列文字,若有引用其他不同的部份再修改紅色部份即可。

       win32:CONFIG(release, debug|release): LIBS += -LC:/Qt/libqxt-Qt5/lib/ -lqxtcore 
       else:win32:CONFIG(debug, debug|release): LIBS += -LC:/Qt/libqxt-Qt5/lib/ -lqxtcore
 
       INCLUDEPATH += C:/Qt/libqxt-Qt5/src/core
   INCLUDEPATH += C:\Qt\libqxt-Qt5\include\QxtCore
       DEPENDPATH += C:/Qt/libqxt-Qt5/src/core
 


沒有留言: