重新整理了一下Qt的交叉编译的环境搭建,此文章未经过测试,全靠以前的记录整理
1、交叉编译器
1.1、arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu
链接: https://pan.baidu.com/s/1v8bj0O1-KEXFTtklfqXWgQ 提取码: ib62 复制这段内容后打开百度网盘手机App,操作更方便哦
1.2、arm-2013.11-33-arm-none-linux-gnueabi-i686-pc-linux-gnu
链接: https://pan.baidu.com/s/19rJSi5iUtzpU4Zs-iCe1lg 提取码: 8mvq 复制这段内容后打开百度网盘手机App,操作更方便哦
下载完成后,解压,我是路径为/opt/arm-2014目录下
在/etc/profile下追加一句:
PATH=$PATH:/opt/arm-2014
然后
source /etc/profile
在终端输入 arm-none-并按 TAB 键, 如果能够看到很多 arm-none-linux-gnueabi-前缀的命令, 则基本可以确定交叉编译器安装正确
2、tslib
tslib最主要的用途就是可以校准触摸屏,通常可以把它作为触摸屏的一个适配层,为上层的应用程序提供统一的接口。在这里,我们移植tslib,为以后移植和使用QT打下基础。
tslib源码:链接: https://pan.baidu.com/s/1xgeYEPbNGs-cjPCmTzaP4Q 提取码: i4tk 复制这段内容后打开百度网盘手机App,操作更方便哦
tslib编译OK:链接: https://pan.baidu.com/s/1UwysCLgh7k8M6vfxtQnzmg 提取码: dzn3 复制这段内容后打开百度网盘手机App,操作更方便哦
具体的点击:移植tslib1.4
我的tslib路径为:/opt/tslib1.4
3、Qt4的环境搭建
3.1、获取源码解压
源码名称:qt-everywhere-opensource-src-4.7.3
源码链接: https://pan.baidu.com/s/14p2Zd7oTWKnI0wtnrwFPwA 提取码: x8ur 复制这段内容后打开百度网盘手机App,操作更方便哦
存放目录:/opt/qt4.7
3.2、修改qmake.conf
我修改的qmake.conf的相对路径为:
qt-everywhere-opensource-src-4.7.3/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf
绝对路径为:
/opt/qt4.7/qt-everywhere-opensource-src-4.7.3/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf
修改内容为:
#
# qmake configuration for building with arm-none-linux-gnueabi-g++
#
include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)
# modifications to g++.conf
QMAKE_CC = arm-none-linux-gnueabi-gcc -lts /* -lts为添加内容 */
QMAKE_CXX = arm-none-linux-gnueabi-g++ -lts
QMAKE_LINK = arm-none-linux-gnueabi-g++ -lts
QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++ -lts
# modifications to linux.conf
QMAKE_AR = arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy
QMAKE_STRIP = arm-none-linux-gnueabi-strip
load(qt_config)
3.3、添加编译脚本
#!/bin/sh
(echo yes) | \
./configure \
-prefix /opt/qt /*指定路径*/ \
-embedded arm \
-platform qws/linux-x86-g++ \
-xplatform qws/linux-arm-gnueabi-g++ \
-depths 16,18,24,32 \
-no-mmx \
-no-3dnow \
-no-sse \
-no-sse2 \
-no-glib \
-no-cups \
-no-largefile \
-no-accessibility \
-no-openssl \
-no-gtkstyle \
-qt-mouse-pc \
-qt-mouse-linuxtp \
-qt-mouse-linuxinput \
-plugin-mouse-linuxtp \
-plugin-mouse-pc \
-fast \
-D QT_NO_QWS_CURSOR \
-D QT_QWS_CLIENTBLIT \
-release \
-host-little-endian -little-endian \
-opensource \
/* 添加内容 */
-qt-mouse-tslib \
-I/opt/tslib1.4/include \
-L/opt/tslib1.4/lib \
4、Qt5的环境搭建
4.1、获取源码解压
源码名称:qt-everywhere-opensource-src-5.7.1
源码链接:链接: https://pan.baidu.com/s/1KOF3VFvihjNvldgu2Ufv-A 提取码: 4ih7 复制这段内容后打开百度网盘手机App,操作更方便哦
源码路径:/opt/qt5.7
4.2、修改qmake.conf
我修改的qmake.conf的相对路径为:
qt-everywhere-opensource-src-5.7.1/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
绝对路径为:
/opt/qt5.7/qt-everywhere-opensource-src-5.7.1/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
QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC = /opt/arm-2014/bin/arm-none-linux-gnueabi-gcc
QMAKE_CXX = /opt/arm-2014/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK = /opt/arm-2014/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB = /opt/arm-2014/bin/arm-none-linux-gnueabi-g++
# modifications to linux.conf
QMAKE_AR = /opt/arm-2014/bin/arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = /opt/arm-2014/bin/arm-none-linux-gnueabi-objcopy
QMAKE_NM = /opt/arm-2014/bin/arm-none-linux-gnueabi-nm -P
QMAKE_STRIP = /opt/arm-2014/bin/arm-none-linux-gnueabi-strip
load(qt_config)
4.3、添加编译脚本
./configure \
-v \
-prefix /opt/qt5.7/arm_qt_5.7 \
-release \
-opensource \
-make libs \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-zlib \
-tslib \
-no-opengl \
-no-dbus \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-iconv \
-no-largefile \
-nomake tools \
-nomake examples \
-nomake tests \
-qt-libjpeg \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-skip qtvirtualkeyboard \
-no-accessibility \
-no-separate-debug-info \
-I/opt/tslib1.4/include -L/opt/tslib1.4/lib
具体的移植查看:移植Qt5.5
5、其他资源包
5.1、VMware15.5的安装包
链接: https://pan.baidu.com/s/1dBEdUXVFHOCToAjEhU2KvQ 提取码: wsr1 复制这段内容后打开百度网盘手机App,操作更方便哦
5.2、VMware的注册机安装包
链接: https://pan.baidu.com/s/1ddJ0LYBGhzjzuDidorRigg 提取码: hnmv 复制这段内容后打开百度网盘手机App,操作更方便哦
5.3、ubuntu-16.04.5-desktop-amd64映像
链接: https://pan.baidu.com/s/1EkK165zZQnMsaKEys71J-Q 提取码: 8jqr 复制这段内容后打开百度网盘手机App,操作更方便哦
5.4、qt-opensource-linux-x64-5.7.1的安装包
链接: https://pan.baidu.com/s/1ymeDoh6uXmZskuDjGBywQw 提取码: jj5f 复制这段内容后打开百度网盘手机App,操作更方便哦