下载gcc-linaro-6.3.1
releases.linaro.org/components/…
64位平台的编译器../gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz操作如下
923 tar -xvf gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz
924 mv gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu aarch64-linux-gnu-6.3.1
925 sudo cp -rf aarch64-linux-gnu-6.3.1/ /opt
vim /etc/bash.bashrc
PATH=$PATH:/opt/aarch64-linux-gnu-6.3.1/bin
source /etc/bash.bashrc
下载qt-src-5.12.9
tar xvf qt-everywhere-src-5.12.9.tar.xz
sudo mkdir /opt/qt-5.12.9-arm64
cd qt-everywhere-src-5.12.9
subl qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf
修改qmake.conf
#
# qmake configuration for building with aarch64-linux-gnu-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv8-a -lts
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a -lts
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC = /opt/aarch64-linux-gnu-6.3.1/bin/aarch64-linux-gnu-gcc
QMAKE_CXX = /opt/aarch64-linux-gnu-6.3.1/bin/aarch64-linux-gnu-g++
QMAKE_LINK = /opt/aarch64-linux-gnu-6.3.1/bin/aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB = /opt/aarch64-linux-gnu-6.3.1/bin/aarch64-linux-gnu-g++
# modifications to linux.conf
QMAKE_AR = /opt/aarch64-linux-gnu-6.3.1/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY = /opt/aarch64-linux-gnu-6.3.1/bin/aarch64-linux-gnu-objcopy
QMAKE_NM = /opt/aarch64-linux-gnu-6.3.1/bin/aarch64-linux-gnu-nm -P
QMAKE_STRIP = /opt/aarch64-linux-gnu-6.3.1/bin/aarch64-linux-gnu-strip
load(qt_config)
创建configure脚本
subl arm64_autoconfig.sh
./configure -prefix /opt/qt-5.12.9-arm64/ \
-opensource -confirm-license \
-release \
-strip \
-shared \
-xplatform linux-aarch64-gnu-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
--xcb=no \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-recheck-all
chmod +x arm64_autoconfig.sh
time(make -j4)
readelf -h /opt/qt-5.12.9-arm64/lib/libQt5Xml.so
file /opt/qt-5.12.9-arm64/examples/widgets/animation/animatedtiles/animatedtiles
sudo make install
ls /opt/qt-5.12.9-arm64/
cd /opt/qt-5.12.9-arm64/
sudo tar -jcf arm64-qt5.12.9.tar.bz2 qt-5.12.9-arm64
qt creator
拷贝可执行程序至开发板
scp -p your_qt_demo user@your_ip:.