本文介绍将QT5.7.0移植到fireflyPK3399开发板中,PK3399系统为64位Ubuntu16.04系统。
一、准备工作
1、下载qt-everywhere-opensource-src-5.7.0.tar.gz下载地址http://download.qt.io/archive/qt/5.7/
2、编译器下载,下载地址:
https://releases.linaro.org/components/toolchain/binaries/latest/arm-linux-gnueabihf/
下载gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.bz
解压修改文件名为gcc将gcc文件放到/opt目录下。
3、为开发板安装qt需要的库:
sudo apt-get install libfontconfig1 libfontconfig1-dev
sudo apt-get install libxrender-dev libxrender1 l
ibxkbcommon-dev libxkbcommon-x11-0 libxkbcommon-x11-dev libxkbcommon0
sudo apt-get install build-essential
sudo apt-get install libfreetype6 libfreetype6-dev
不一定全面,也有可能有遗漏,根据自己环境来安装或更新所需要的库。
二、配置文件
1、在qt-everywhere-opensource-src-5.7.0/qtbase/mkspecs下新建linux-arm-qt文件件,将linux-arm-gnueabi-g++文件夹中的文件复制到linux-arm-qt文件中。打开qmake.conf文件进行配置:
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
QT_QPA_DEFAULT_PLATFORM = linuxfb
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC = /opt/gcc/bin/aarch64-linux-gnu-gcc
QMAKE_CXX = /opt/gcc/bin/aarch64-linux-gnu-g++
QMAKE_LINK = /opt/gcc/bin/aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB = /opt/gcc/bin/aarch64-linux-gnu-g++
# modifications to linux.conf
QMAKE_AR = /opt/gcc/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY = /opt/gcc/bin/aarch64-linux-gnu-objcopy
QMAKE_NM = /opt/gcc/bin/aarch64-linux-gnu-nm -P
QMAKE_STRIP = /opt/gcc/bin/aarch64-linux-gnu-strip
load(qt_config)
2、配置config
./configure -v -prefix /opt/qt-5.7.0 -release -opensource -no-accessibility -xplatform linux-arm-qt -optimized-qmake -pch -qt-zlib -tslib -nomake tools -no-gif -no-nis -no-glib -no-rpath -no-dbus -no-opengl -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -qreal float -nomake examples -skip qtdeclarative -no-openssl -no-nis -no-cups -no-glib -no-pkg-config -no-separate-debug-info -I/opt/tslib/include -L/opt/tslib/lib
备注:tslib要用下载的下载gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.bz
编译器来编译。将编译好的库放在/opt下。
三、编译
1、上述都成功完成之后执行make命令(大概需要一个半小时左右)。
2、sudo make install将文件安装在/opt/qt5.7.0中。
四、安装和使用Qt Creator
1、下载qt-creator-opensource-linux-x86_64-4.5.1.run执行以下命令
1)chmod u+x qt-creator-opensource-linux-x86_64-4.0.0.run
2)./qt-creator-opensource-linux-x86_64-4.0.0.run
2、配置 Tools->Options... 增加Compiler,指向交叉编译器的aarch64-linux-gnu-g++
3、增加Qt versions,分别指向刚刚编译的二个平台的qmake
4、增加Kits设置默认套件
到此处已经完成了配置,接下来编译出来的二进制文件就可以在PK3399中运行(还要将相应的QT动态库文件烧录到PK3399开发板上)。