一、基本信息
1:环境:Ubuntu16.04
2:QT版本:QT5.9.6
二、下载QT
1:QT所有版本下载地址:传送门
2:下载qt-everywhere-opensource-src-5.9.6.tar.xz 源码包
3:下载 qt-opensource-linux-x64-5.9.6.run
三、编译安装qt-everywhere-opensource-src-5.9.6.tar.xz 源码包
1:配置编译脚本
解压下载的QT源码,进入源码目录,创建配置脚本。
vim qwx_config.sh
脚本说明:
-prefix /opt/qt5.9 \ 是安装路径
window复制到linux因为格式问题可能会报错,建议手动输入
#!/bin/sh
./configure -prefix /opt/qt5.9 \
-opensource \
-debug \
-confirm-license \
-xplatform linux-arm-gnueabi-g++ \
-no-opengl \
-no-pch \
-shared \
-no-iconv \
-no-xcb \
2:配置qmake.conf
①:特别说明
arm-linux-gnueabihf-gcc 这是自己的交叉编译工具链
arm-linux-gnueabihf-gcc -lts 加上后面的 -lis 是支持tslib。
支持tslib的配置:
QMAKE_INCDIR = /opt/tslib/include
QMAKE_LIBDIR = /opt/tslib/lib
注意!!!如果不使用tslib 千万不要加上支持tslib的配置!!!
②:配置路径:
vim qtbase/mkspecs/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-linux-gnueabihf-gcc -lts
QMAKE_CXX = arm-linux-gnueabihf-g++ -lts
QMAKE_LINK = arm-linux-gnueabihf-g++ -lts
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++ -lts
# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_NM = arm-linux-gnueabihf-nm -P
QMAKE_STRIP = arm-linux-gnueabihf-strip
load(qt_config)
QMAKE_INCDIR = /opt/tslib/include
QMAKE_LIBDIR = /opt/tslib/lib
3:编译安装
特别说明:make 编译 的时间会有有点长,耐心等待即可。
make
make install
四、移植到ARM开发板
特别说明:/opt/qt5.9 这个路径是之前配置编译脚本选择的安装路径。
把/opt/qt5.9 里面的 lib plugins 拷贝到ARM开发板的/usr/local/qt5.9.6
qt5.9是不带字体库的需要我们自己复制一份过去
在这里我把qt4.8里面的 fonts 拷贝到/usr/local/qt5.9.6/lib/fonts
五、ARM开发板配置环境
wr vi /etc/profile
# Qt qwx config
export LD_LIBRARY_PATH=/usr/local/qt5.9.6/lib
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/local/qt5.9.6/plugins
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
export QT_QPA_FONTDIR=/usr/local/qt5.9.6/lib/fonts
七、Qtcreator 配置
编译器需要配置C++ 和 Gcc 不然会报错