基於Hisi芯片,交叉編譯、移植Qt4.8.6(可旋轉)


一、安裝海思編譯鏈

  1. 安裝海思編譯鏈(如arm-hisiv300-linux-*),不做贅述。

二、下載Qt4.8.6源碼包

三、解壓源碼包

  • 將源碼包拷貝到Ubuntu的Desktop
  • 進入Desktop:cd ~/Desktop
  • 解壓:tar -xzvf qt-everywhere-opensource-src-4.8.6.tar.gz

四、修改QT源碼的io.pri文件

  • 進入源碼包目錄:cd ~/Desktop/qt-everywhere-opensource-src-4.8.6
  • 修改io.pri文件:~/Desktop/qt-everywhere-opensource-src-4.8.6/src/corelib/io/io.pri
  • 添加arm-hisiv300-linux-*編譯鏈

五、添加Hisi交叉編譯鏈配置文件qmake.conf

  • 進入源碼包目錄:cd ~/Desktop/qt-everywhere-opensource-src-4.8.6
  • 創建arm-hisiv300-linux-的qmake.cof文件: cp mkspecs/qws/linux-arm-gnueabi-g++/   mkspecs/qws/arm-hisiv300-linux-g++/ -r
  • 修改mkspecs/qws/arm-hisiv300-linux-g++/qmake.conf文件,如下:

    

    #

    # qmake configuration for building with arm-none-linux-gnueabi-g++

    #

    include(../../common/linux.conf)

    include(../../common/gcc-base-unix.conf)

    include(../../common/g++-unix.conf)

    include(../../common/qws.conf)

    # modifications to g++.conf

    QMAKE_CC          = /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-gcc

    QMAKE_CXX         =/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-g++

    QMAKE_LINK        =/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-g++

    QMAKE_LINK_SHLIB  = /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-g++

    # modifications to linux.conf

    QMAKE_AR          = /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-ar cqs

    QMAKE_OBJCOPY     = /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-objcopy

    QMAKE_NM          = /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-nm -P

    QMAKE_STRIP       =/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-strip

    load(qt_config)

 

六、交叉編譯前,配置4.8.6源碼

./configure --prefix=/opt/qt4.8.6_transfrom -opensource -confirm-license -qt-sql-sqlite -qt-gfx-linuxfb -qt-gfx-transformed -plugin-sql-sqlite -no-qt3support -no-phonon -no-svg -no-webkit -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/arm-hisiv300-linux-g++ -little-endian -qt-freetype -no-opengl -no-glib -nomake demos -nomake examples -nomake docs -nomake tools

其中:

--prefix=/opt/qt4.8.6_transfrom 安裝目錄
-qt-gfx-transformed 支持旋轉顯示
-xplatform qws/arm-hisiv300-linux-g++  指定qmake.conf配置

七、編譯

  • make 

八、安裝

  • make install

九、移植

  1. 將/opt/qt4.8.6_transfrom/lib資源拷貝到/usr/local/Trolltech/Qt4.8.6/lib。
  2. 環境配置:
  • export QT_INSTALL_PATH=/usr/local/Trolltech/Qt4.8.6
  • export LD_LIBRARY_PATH=/lib:/usr/lib:${QT_INSTALL_PATH}/lib:${LD_LIBRARY_PATH}
  • export QT_QWS_FONTDIR=${QT_INSTALL_PATH}/lib/fonts
  • export QWS_DISPLAY="Transformed:Rot0:LinuxFB:/dev/fb1"
  • 解析:

    靜態設置旋轉參數:Transformed:Rot0,旋轉角度為0。若要配置為90,180,270,可配置為Transformed:Rot90,Transformed:Rot180,Transformed:Rot270。

  • 動態設置旋轉參數:

    export QWS_DISPLAY="Transformed:LinuxFB:/dev/fb1"

    QWSDisplay::setTransformation(0,0);第一個參數0,1,2,3分別對應0,90,180,270度,第二個參數設置為0。

十、Ubuntu安裝QtCreator

  1. 下載路徑:http://download.qt.io/archive/qtcreator/
  2. 以QtCreator2.5.2為例,安裝包:qt-creator-linux-x86_64-opensource-2.5.2.bin
  3. 雙擊安裝即可
  4. 安裝后,打開軟件,如圖1所示
    •   
            •         圖1.QtCreator開啟界面
  5. 打開配置界面:Tools->Options->Build&Run,如圖2所示
    •   
            •        圖2.Build&Run之Qt Version
  6. 點擊Add鍵,選擇所需添加的qmake(/opt/qt4.8.6_transfrom/bin/qmake),如圖2所示
  7. 添加交叉編譯鏈(arm-hisiv300-linux-g++與arm-hisiv300-linux-gcc),如圖3所示
    •   
            •         圖3.Build&Run之Tool Chains
  8. 配件工程套件kit(選擇qmake與對應的編譯鏈),如圖4所示 
    •   
            •         圖4.Build&Run之kit配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM