前言:因為某個專案需要用到 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
如下圖所示
然後等個數分鐘。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
沒有留言:
張貼留言