一、環境
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以上操作都很順利的完成
