天天看點

Hi3519V101上移植QT4.8.6目錄前言環境交叉編譯總結

目錄

文章目錄

  • 目錄
  • 前言
  • 環境
  • 交叉編譯
  • 總結

前言

因為想要通過QT在3519上實作跟蹤效果,是以在Hi3519上移植了QT4.8.6。雖然結果不理想,但是還是想把自己的移植過程記錄下來!或許是自己的功力還不夠的原因,今天莫名地感到心累!

本篇部落格參考易百納論壇,感謝大神們的無私奉獻!

環境

PC:Ubuntu16.04

交叉編譯工具鍊:arm-hisiv500-linux

QT版本:qt-everywhere-opensource-src-4.8.6.tar.gz

交叉編譯

  1. 解壓:

    tar -xvf qt-everywhere-opensource-src-4.8.6.tar.gz

  2. 進入mkspecs/qws目錄:

    cd /hisilicon/qt/qt-everywhere-opensource-src-4.8.6/mkspecs/qws

  3. 複制linux-arm-g++目錄到linux-hisiv500-g++目錄:

    cp linux-arm-g++ linux-hisiv500-g++ -rf

  4. 進入linux-hisiv500-g++目錄
  • 修改qmake.conf:

    vi qmake.conf

# modifications to g++.conf
	QMAKE_CC               = arm-hisiv500-linux-gcc
	QMAKE_CXX              = arm-hisiv500-linux-g++
	QMAKE_LINK             = arm-hisiv500-linux-g++
	QMAKE_LINK_SHLIB       = arm-hisiv500-linux-g++
	# modifications to linux.conf
	QMAKE_AR                = arm-hisiv500-linux-ar cqs
	QMAKE_OBJCOPY           = arm-hisiv500-linux-objcopy
	QMAKE_STRIP             = arm-hisiv500-linux-strip
           
  • 增加qplatformdefs.h:

    vi qplatformdefs.h

    ------->

    #undef O_CLOEXEC

  1. 安裝x11庫:

    sudo apt-get install libx11-dev libxext-dev libxtst-dev

  2. 傳回源碼目錄qt-everywhere-opensource-src-4.8.6/mkspecs進行配置
./configure --prefix=/opt/qt4.8.6 -opensource -confirm-license -qt-sql-sqlite \
-qt-gfx-linuxfb -plugin-sql-sqlit -no-qt3support -no-phonon -no-svg -no-webkit \
-no-javascript-jit -no-script -no-scripttools -no-declarative -no-declarative-debug \
-qt-zlib -no-gif -qt-libtiff -qt-libpng -no-libmng -qt-libjpeg -no-rpath -no-pch \
-no-3dnow -no-avx -no-neon -no-openssl -no-nis -no-cups -no-dbus -embedded arm \
-platform linux-g++ -xplatform qws/linux-hisiv500-g++ -little-endian -qt-freetype \
-no-opengl -no-glib -nomake demos -nomake examples -nomake docs -nomake tools
           

其中:–prefix=/opt/qt4.8.6是交叉編譯qt庫後的安裝目錄

-xplatform qws/linux-hisiv500-g++指定編譯器及平台配置資訊,就是步驟4修改的目錄

編譯成功後如下:

Hi3519V101上移植QT4.8.6目錄前言環境交叉編譯總結

7.

make

Hi3519V101上移植QT4.8.6目錄前言環境交叉編譯總結

8.

make install

在/opt目錄下生成qt4.8.6目錄:

cmd:tree qt4.8.6/ -L 1
.
├── bin
├── include
├── lib
├── mkspecs
├── plugins
└── translations

           

總結

編譯qt4.8.6的過程還是很簡單的,難點在于通過Hi3519顯示Qt界面,後續會繼續補充。而且感覺Qt版本有點老,以後還是編譯Qt5的庫試試,畢竟要緊跟潮流嘛!

條條大路通羅馬,可在你選擇路,拼命奮鬥的時候,人家已經在羅馬了!可起碼你在路上,雖然終歸是條錯誤的路!

Hi3519V101上移植QT4.8.6目錄前言環境交叉編譯總結