嵌入式Linux開發環境搭建-(6)交叉編譯QT4.8.7源碼生成qmake工具

交叉編譯QT4.8.7源碼生成qmake工具

TQ-i.MX6UL使用的QT版本是QT4.8.7,板卡出廠前附帶的開發資料中,天嵌官方沒有爲開發者編譯生成qmake工具。因此,爲了後續進行的QT開發,我們需要自己手動編譯QT源碼,生成qmake。

編譯前準備:

  1. 確保交叉編譯器版本是arm-linux-gnueabihf-gcc 5.3.1 20160412 (Linaro GCC 5.3-2016.05)
  2. Qt源碼版本是:qt-everywhere-opensource-src-4.8.7
  3. tslib源碼版本是:tslib-1.1

TQ官方提供了一個組合軟件包,裏面包含了Qt源碼和tslib源碼,存放在以下路徑:

TQIMX6UL_COREB_CD_V1.0_R2.1_20171115\Linux源碼包\Qt源碼\qt-4.8.7_tslib-1.1.tar.bz2

開發者也可以在以下網址下載源碼:

Qt源碼:http://mirrors.ustc.edu.cn/qtproject/archive/qt/4.8/4.8.7/

tslib源碼:https://github.com/kergoth/tslib/releases?after=1.5

 

1、把QT源碼和tslib源碼qt-4.8.7_tslib-1.1.tar.bz2通過FileZilla Client工具,上傳到ubuntu系統的/opt/tq-imx6ul/source_code目錄。執行以下命令,進行解壓:

tar xvf qt-4.8.7_tslib-1.1.tar.bz2 -C /

解壓完成後,QT源碼和tslib源碼存放在以下目錄:/opt/EmbedSky/TQIMX6UL/TQ_COREB

2、因爲qt源碼編譯需要依賴於tslib源碼,所以,在編譯qt源碼之前,需要先編譯tslib源碼。tslib源碼的編譯腳本爲build.sh,以下是編譯腳本的內容:

腳本的內容:指定交叉編譯器的具體版本和路徑,INSTALL_DIR指定tslib的安裝目錄。然後執行make命令進行編譯。Make install 命令進行安裝。

我們可以在ubuntu的命令行終端,執行以下命令,進行tslib的安裝:

cd /opt/EmbedSky/TQIMX6UL/TQ_COREB/tslib-1.1

./build.sh

安裝完成後tslib存放在:/opt/EmbedSky/TQIMX6UL/TQ_COREB/imx6ul_rootfs/opt

3、成功編譯tslib後,開始進行qt源碼的編譯安裝。Qt源碼的一系列編譯命令,已封裝成build_arm.sh腳本,如下圖所示:

4、build_arm.sh的具體內容,如下圖所示:

腳本的內容:指定交叉編譯器的路徑和版本。./configure指定qt源碼編譯時的配置選項,查看配置選項,可以看出此次編譯是把qt源碼編譯爲release版本,動態鏈接庫形式,應用於嵌入式arm平臺,支持sqlite數據庫,支持jpeg和png圖形編碼格式,等等。然後執行make -j8進行編譯,make install進行安裝。

我們可以在ubuntu的命令行終端,執行以下命令,進行qt源碼的編譯和安裝:

cd /opt/EmbedSky/TQIMX6UL/TQ_COREB/qt-everywhere-opensource-src-4.8.7

./build_arm.sh

安裝完成後qt存放在:/opt/EmbedSky/TQIMX6UL/TQ_COREA/imx6ul_rootfs/opt

執行以下命令,把qt源碼複製到跟tslib同樣的目錄下,便於管理。

cd /opt/EmbedSky/TQIMX6UL/TQ_COREA/

cp imx6ul_rootfs /opt/EmbedSky/TQIMX6UL/TQ_COREB/ -a

5、完成以上工作後,qmake工具存放在以下目錄:

/opt/EmbedSky/TQIMX6UL/TQ_COREB/imx6ul_rootfs/opt/qt-4.8.7/bin/

 

點擊這裏,學習更多Embeded IoT Linux開發

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章