Qt5.12.0 交叉編譯搭建


一、環境

ubuntu版本:16.04

qt版本5.12

arm開發板:全志H5,RK3399

說明:在ubuntu下進行編譯,將編譯好的so,拷貝到arm下

二、步驟

  1.獲取QT源碼,以及arm64位的交叉編譯器

wget http://download.qt.io/archive/qt/5.12/5.12.0/single/qt-everywhere-src-5.12.0.tar.xz

    交叉編譯器:

    鏈接:https://pan.baidu.com/s/11mpoZZJQtrzw9LlgT4Qt0g 

    提取碼:otrc 

 

  2.解壓以及配置

    將QT源碼以及交叉編譯器 解壓,在QT源碼里修改 qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf 文件

QMAKE_CC                = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc 
QMAKE_CXX               = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK              = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB        = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
# modifications to linux.conf
QMAKE_AR                = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY           = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy
QMAKE_NM                = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-nm -P
QMAKE_STRIP             = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip

    回到qt-everywhere-src-5.12.0目錄,繼續配置,輸入以下命令

./configure -recheck-all -release -extprefix /opt/aarch64_qt5.12.0 -xplatform linux-aarch64-gnu-g++ -no-opengl -no-openssl -nomake tests -no-compile-examples -nomake examples -gif -ico -qt-libpng -qt-libjpeg -qt-sqlite

    會彈出提示,輸入o回車再輸入y

  3.編譯

make -j32 2>&1 | tee build.log

  4.安裝

sudo make install

        5.測試

   將生成的/opt/aarch64_qt5.12.0 目錄拷貝到arm開發板上,並修改環境變量;將編譯出來qmake配置到ubuntu上的qt creator上,能編譯出arm格式的可執行文件。

   將可執行文件拷貝到arm下執行

  

ok以上操作都很順利的完成

 


免責聲明!

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



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