天天看點

項目實戰:海思平台移植QT4.85

      大家好,我是阿桃,一個想成為被點贊關注的程式員。

     工控行業、物聯網行業、機器人行業軟體開發可聯系我

    本文旨在說明QT4.85在海思平台上的移植,友善後面讀者在海思平台上移植QT提供參考。

一、tslib移植

1.tslib-1.16下載下傳:

https://github.com/kergoth/tslib/releases/download/1.16/tslib-1.16.tar.bz2

2.解壓 tslib.

3.建立安裝目錄

   在/opt目錄下建立tslib檔案夾存放生成的庫。

4.編寫mygen.sh腳本生成makefile

項目實戰:海思平台移植QT4.85

5.運作./mygen.sh

6.執行make && make install編譯

二、移植QT4.85

1.複制配置檔案

cp mkspecs/qws/linux-arm-gnueabi-g++/ mkspecs/qws/linux-himix200-g++/ -rf

2.修改qmake.conf如下

項目實戰:海思平台移植QT4.85

3.建立安裝目錄/opt/Qtlib/qt-4.8.5

4.編寫可執行檔案生成makefile

項目實戰:海思平台移植QT4.85

5.執行編譯安裝make -j4 && make install

這個時候回報編譯錯誤,将出錯資訊百度搜尋就能搜到,然後進行相應的源碼修改即可。

6.将生成的tslib以及QTlib移植到Hi3519AV100開發闆上

7.編寫setqtenv檔案

項目實戰:海思平台移植QT4.85

8.編寫QT程式進行界面顯示。

運作程式後會出現fb0不能打開的情況,這是因為海思在fb驅動上封裝了一層擴充Hifb,是以需要先進行一些初始化才能進行QT界面顯示。

項目實戰:海思平台移植QT4.85

9.運作海思提供的sample_hifb

Hi3519AV100中的sample_hifb會在圖檔顯示完後關閉,是以需要修改一下源程式讓fb0處于一直打開的情況。

具體修改内容是執行标準模式,然後再SAMPLE_HIFB_PANDISPLAY函數中添加while(1){sleep(100);}。

項目實戰:海思平台移植QT4.85

之後運作标準模式,以下的程式我是将所有不需要的程式都清理掉,僅僅是調試的話如上文講的添加一個while(1){sleep(100);}即可。

項目實戰:海思平台移植QT4.85

10.再次運作QT程式

配置環境變量以及再次運作QT就能成功顯示QT界面。

項目實戰:海思平台移植QT4.85

不過這裡界面顯示的大小會有問題,跟sample_hifb中的配置有關,在後面關于hifb開發文檔中會獨立介紹。

繼續閱讀