1. 把编译工具 gcc-linaro-aarch64.tar.xz 添加到环境.bashrc 中

2. 下载 tslib-1.4.tar.gz ,libiconv-1.15.tar.gz ,qt-everywhere-opensource-src-5.6.1.tar.gz

3. 由于tslib与libiconv无法识别arch64 所以需要解压编译工具并创建软链接。

#!/bin/sh
ln -s aarch64-linux-gnu-addr2line arm-linux-addr2line
ln -s aarch64-linux-gnu-ar arm-linux-ar
ln -s aarch64-linux-gnu-as arm-linux-as
ln -s aarch64-linux-gnu-c++ arm-linux-c++
ln -s aarch64-linux-gnu-c++filt arm-linux-c++filt
ln -s aarch64-linux-gnu-cpp arm-linux-cpp
ln -s aarch64-linux-gnu-elfedit arm-linux-elfedit
ln -s aarch64-linux-gnu-ct-ng.config arm-linux-ct-ng.config
ln -s aarch64-linux-gnu-g++ arm-linux-g++
ln -s aarch64-linux-gnu-gcc arm-linux-gcc
ln -s aarch64-linux-gnu-gcc-ar arm-linux-gcc-ar
ln -s aarch64-linux-gnu-gcc-nm arm-linux-gcc-nm
ln -s aarch64-linux-gnu-gcc-ranlib arm-linux-gcc-ranlib
ln -s aarch64-linux-gnu-gcov arm-linux-gcov
ln -s aarch64-linux-gnu-gdb arm-linux-gdb
ln -s aarch64-linux-gnu-gfortran arm-linux-gfortran
ln -s aarch64-linux-gnu-gprof arm-linux-gprof
ln -s aarch64-linux-gnu-ld arm-linux-ld
ln -s aarch64-linux-gnu-ldd arm-linux-ldd
ln -s aarch64-linux-gnu-nm arm-linux-nm
ln -s aarch64-linux-gnu-objcopy arm-linux-objcopy
ln -s aarch64-linux-gnu-objdump arm-linux-objdump
ln -s aarch64-linux-gnu-pkg-config arm-linux-pkg-config
ln -s aarch64-linux-gnu-pkg-config-real arm-linux-pkg-config-real
ln -s aarch64-linux-gnu-ranlib arm-linux-ranlib
ln -s aarch64-linux-gnu-readelf arm-linux-readelf
ln -s aarch64-linux-gnu-size arm-linux-size
ln -s aarch64-linux-gnu-strings arm-linux-strings
ln -s aarch64-linux-gnu-strip arm-linux-strip

  4. 解压tslib 并编译安装

#!/bin/sh
./autogen.sh
make clean && make distclean
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
CC=arm-none-linux-gcc
./configure --host=arm-linux --prefix=/opt/tslib1.4 --cache-file=arm-linux.cache
make && make install

  5. 解压libiconv 并编译安装

#!/bin/sh
./configure -prefix=/opt/libiconv -host=arm-linux
make && make install

  6. 解压qt-everywhere-opensource-src 并编译安装

 修改该gcc配置

$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-gnueabi-gcc
#QMAKE_CXX = arm-linux-gnueabi-g++
#QMAKE_LINK = arm-linux-gnueabi-g++
#QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++ # modifications to linux.conf
#QMAKE_AR = arm-linux-gnueabi-ar cqs
#QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy
#QMAKE_NM = arm-linux-gnueabi-nm -P
#QMAKE_STRIP = arm-linux-gnueabi-strip # modifications to g++.conf
QMAKE_CC = aarch64-linux-gnu-gcc
QMAKE_CXX = aarch64-linux-gnu-g++
QMAKE_LINK = aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB = aarch64-linux-gnu-g++ # modifications to linux.conf
QMAKE_AR = aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY = aarch64-linux-gnu-objcopy
QMAKE_NM = aarch64-linux-gnu-nm -P
QMAKE_STRIP = aarch64-linux-gnu-strip load(qt_config)
~

配置编译参数

#!/bin/sh
./configure -prefix /opt/qt-5.6-arm -release -xplatform linux-arm-gnueabi-g++ -make libs -optimized-qmake -pch -shared -qt-libjpeg -qt-libpng -tslib -I/opt/tslib1./include -L/opt/tslib1./lib -nomake tools -make examples -iconv
make
make install #在安装example时报错可以不理睬

7. 在/opt/qt-5.6-arm 下生成A64 相关的样例和库

bin  doc  etc  examples  include  lib  mkspecs  plugins  qml  share

8. 新建文件夹,拷贝/opt/qt-5.6-arm/examples ,/opt/qt-5.6-arm/lib, /opt/qt-5.6-arm/plugins ,/opt/tslib1.4/lib, /opt/libiconv/lib/ 并打包放到 开发板上

在开发板上配置环境变量运行测试程序

export QTDIR=/dav/qt-5.6-arm
export QT_QPA_FONTDIR=$QTDIR/lib/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
export QWS_MOUSE_PROTO=/dev/input/event0
export LD_PRELOAD=/dav/qt-5.6-arm/lib/preloadable_libiconv.so ./svg/embeddedsvgviewer/embeddedsvgviewer

全志A64 QT移植的更多相关文章

  1. 基于mini2440的Qt移植

    花了很长时间,终于把Qt移植到mini2440开发板上了,不能说完全成功,总算是完成一大步,各中过程心酸,废话不多说,下面正式讲解移植过程. 移植环境: win7系统,虚拟机是ubuntu12.04 ...

  2. QT移植无法启动 This application failed to start because it could not find or load the QT platform

    QT配置好在自己机器上可以运行,但在别人机器上一直弹出 "This application failed to start because it could not find or load ...

  3. 移植QT5.6到嵌入式开发板(史上最详细的QT移植教程)

    目前网上的大多数 QT 移植教程还都停留在 qt4.8 版本,或者还有更老的 Qtopia ,但是目前 Qt 已经发展到最新的 5.7 版本了,我个人也已经使用了很长一段时间的 qt5.6 for w ...

  4. 【Linux开发】【Qt开发】ARM QT移植详细步骤教程

    ARM QT移植详细步骤教程 米尔SAM9X5和A5D3X上默认的Qt版本是4.5.3,当这个版本的Qt库不能满足实际开发需求时,可通过此方法制定Qt开发.运行环境. 移植的步骤如下: 1.下载新版q ...

  5. 嵌入式开发 迅为4418开发板Qt移植移动4G模块第一部分

    本文转自迅为论坛:http://topeetboard.com 了解更多:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-7744162139 ...

  6. Qt移植对USB鼠标键盘、触摸屏的支持

    .USB键盘 经过一番搜索,发现对Qt键盘的支持主要关系到两个方面: 1. 键盘类型确定: 4.7以前的Qt版本,如果是PS2圆孔键盘,Qt编译时需加上选项:-qt-kbd-vr41xx(未测试):如 ...

  7. [转载]迅为4418开发板Qt移植移动4G模块第一部分

        本文转自迅为论坛:http://topeetboard.com   平台:iTOP-4418开发板   1.首先要配置内核,这个一步和Android系统移植3G或者4G模块是一样的.一般模块的 ...

  8. 1全志 A20 camera移植

    转自 http://www.right.com.cn/forum/thread-146260-1-1.html   在Android4.0升级后,突然发现大量平台对Camera的支持均非常不好.要么C ...

  9. QT移植

    QT下载地址:http://download.qt.io/archive/qt/1.编译tslib(touch screen lib) 准备工作:确保以下工具安装完成 sudo apt-get ins ...

随机推荐

  1. 微软牛津计划——声纹识别与视频识别API上线啦!

    上个月,我们发布了牛津计划机器学习的情感识别API,能够帮助不同平台的开发者轻松添加智能应用,而无需精通人工智能领域.牛津计划仅仅是微软在人工智能领域探索中的一个实例,而我们的期望是实现更加注重个人使 ...

  2. MYSQL连接相关参数和状态值详解

    针对mysql的连接参数和状态值,本文做些介绍和对比 一.MYSQL连接参数变量 1.常用连接数限制参数 show variables like '%connect%'; | max_connect_ ...

  3. mysql5.7

    原文  http://imysql.com/2015/07/08/mysql-57-new-feature-part-3.shtml 主题 MySQL 本文将和大家一起分享下5.7的新特性,不过我们要 ...

  4. QT容器map的插入,修改,遍历

    除了map,QT的容器还有hash,以及迭代器等,这里写的是map #include "mainwindow.h" #include <QApplication> #i ...

  5. Java SpringMVC学习--基础配置

    快速开始一个基于SpringMVC框架的web项目 开发工具 Eclipse neon.2 运行环境 tomcat8.5 1.在Eclipse中新建一个web项目:File-New-Dynamic W ...

  6. GO语言(四)线程通信

    package main import "fmt" func fibon(c,quit chan int) { x,y := , for { select { case c < ...

  7. 网站渗透常用到的Python小脚本

    0×00渗透的很多时候,找到的工具并不适用,自己码代码才是王道,下面三个程序都是渗透时在网络上找不到合适工具,自己辛苦开发的,短小使用,求欣赏,求好评. 0×01记录root密码小工具 root.py ...

  8. 利物浦VS热刺,我努力不去想,但利物浦真的在争冠

      用这张图作为开头吧,早餐的时候打开网易,苏神破门红军4-0登榜首的新闻,习惯性的点进去看看KOP的评论,有一句回复『利物浦该夺冠了,多少年了.喜欢利物浦比喜欢老婆还早,老婆都成黄脸婆了.现在带着女 ...

  9. 阅读SessionFactory源码

    一.阅读类注释 ①.SessionFactory的主要任务是创建Session的实例.通常一个应用程序只有一个单一的SessionFactory对象,而且线程从这个SessionFactory中获取S ...

  10. SQL表创建注意事项

    CREATE TABLE V_USER ( AUTOID ), USERID BYTE) NOT NULL, USERNAME BYTE) NOT NULL, USERPASSWORD BYTE) N ...