前提,需要在linux下已经安装QT
1、准备交叉编译工具链
sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install g++-arm-linux-gnueabihf
sudo apt install gcc-aarch64-linux-gnu
sudo apt install g++-aarch64-linux-gnu
这里我是为了EC20_OCPU,所以就编译器就在SDK下
2、arm版本的qmake编译安装
下载好对应版本的QT源码,并解压,这里我使用的版本是qt-everywhere-opensource-src-5.8.0.tar.gz
2.1 修改qmak.conf
进入qtbase/mkspecd/linux-arm-gnueabi-g++路径,并编辑qmake.conf,原则上可以进入任意一个,只要后续对应就行,将内容改为你自己实际的交叉编译工具,如下,我的是这样:
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC = arm-oe-linux-gnueabi-gcc
QMAKE_CXX = arm-oe-linux-gnueabi-g++
QMAKE_LINK = arm-oe-linux-gnueabi-g++
QMAKE_LINK_SHLIB = arm-oe-linux-gnueabi-g++
# modifications to linux.conf
QMAKE_AR = arm-oe-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = arm-oe-linux-gnueabi-objcopy
QMAKE_NM = arm-oe-linux-gnueabi-nm -P
QMAKE_STRIP = arm-oe-linux-gnueabi-strip
load(qt_config)
2.生成qmake编译文件
在解压后的源码同级路径,创建一个qmake文件夹,并进入文件夹,生成配置文件 qtbase/bin/qt.conf 文件
sudo ../qt-everywhere-opensource-src-5.8.0.tar.gz/configure -prefix $PWD/qtbase -opensource -xplatform linux-arm-gnueabi-g++ -no-opengl -nomake examples
此处的**linux-arm-gnueabi-g++**与上一小节修改的路径名字对应。
中途提示输入选项,选择o,为开源,yes代表同意,后继续等待,时间较长
完成后会生成Makefile,直接make -j即可火力全开编译,等待编译完成,时间更长,完成后 make install