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

1.解压
tar xf tslib-1.4.tar.gz
cd tslib
2.生成configure
./autogen.sh

3.配置(成功生成Makefile)
./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes

4.make
5.sudo make install

6.确认成功
cd /usr/local/tslib/bin
执行以下命令:
file ts_calibrate
ts_calibrate: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped

注:
_open_missing_mode ();错误解决
vim tests/ts_calibrate.c
搜索 O_CREAT
if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {
cal_fd = open (calfile, O_CREAT | O_RDWR,0777);
} else {
cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR,0777);
}

给open函数加上第三个参数0777

--------------------------------------------------------
2.编译QT库
1.解压最新版的交叉编译器(4.8.3)
tar xvf arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

编译器路径:
/home/csgec/software/arm-2014.05/bin
2.解压Qt源码包
tar xvf qt-everywhere-opensource-src-5.6.0.tar.gz

cd qt-everywhere-opensource-src-5.6.0/

3.删除3d模块
rm qt3d/ qtcanvas3d/ qtweb* -rf

4.修改编译器
vim qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

QMAKE_INCDIR += /usr/local/tslib/include
QMAKE_LIBDIR += /usr/local/tslib/lib

QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a

# modifications to g++.conf
QMAKE_CC = /home/csgec/software/arm-2014.05/bin/arm-none-linux-gnueabi-gcc
QMAKE_CXX = /home/csgec/software/arm-2014.05/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK = /home/csgec/software/arm-2014.05/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB = /home/csgec/software/arm-2014.05/bin/arm-none-linux-gnueabi-g++

# modifications to linux.conf
QMAKE_AR = /home/csgec/software/arm-2014.05/bin/arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = /home/csgec/software/arm-2014.05/bin/arm-none-linux-gnueabi-objcopy
QMAKE_NM = /home/csgec/software/arm-2014.05/bin/arm-none-linux-gnueabi-nm -P
QMAKE_STRIP = /home/csgec/software/arm-2014.05/bin/arm-none-linux-gnueabi-strip
load(qt_config)

5.配置参数
./configure -release -opensource -xplatform linux-arm-gnueabi-g++ -prefix /usr/local/qtlib5.6.0 -silent -tslib -qt-sql-sqlite -no-opengl -no-dbus -no-iconv -nomake examples -nomake tools -nomake tests

6.make
7.sudo make install
最后显示:
make[2]: Entering directory `/home/csgec/software/qt-everywhere-opensource-src-5.6.0/qtdoc/doc'
make[2]: Nothing to be done for `install'.
make[2]: Leaving directory `/home/csgec/software/qt-everywhere-opensource-src-5.6.0/qtdoc/doc'
make[1]: Leaving directory `/home/csgec/software/qt-everywhere-opensource-src-5.6.0/qtdoc'

8.打包库和插件
cd /usr/local/qtlib5.6.0
sudo mkdir QtDir
sudo cp lib/ plugins/ QtDir/ -rf
sudo tar zcf QtDir5.6.0.tar.gz QtDir/

生成QtDir5.6.0.tar.gz,复制到tftp目录
cp QtDir5.6.0.tar.gz ~/tftp/

9.把上一步生成的压缩包下载到开发板
在开发板上运行以下命令
tftp -gr QtDir5.6.0.tar.gz 192.168.1.158
解压此压缩包
tar xvf QtDir5.6.0.tar.gz

10.把触屏库打包下载到开发板
cd /usr/local/tslib
sudo tar zcvf tslib.tar.gz lib/
cp tslib.tar.gz ~/tftp/
在开发板上运行以下命令
tftp -gr tslib.tar.gz 192.168.1.158
解压此压缩包
tar xf tslib.tar.gz
修改下解压后的目录名,把它放到QtDir目录下
mv lib/ tslib
mv tslib QtDir
11.配置开发板运行环境
vi qtconf.sh

#!bin/sh
export QtHome=/home/ldh/QtDir#注意你的QTDir放在哪个地址你就写哪个地址我放在的是/home/ldh下
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QtHome/lib

#平台
export QT_QPA_PLATFORM_PLUGIN=$QtHome/plugins/
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
#触屏
export QT_PLUGIN_PATH=$QtHome/plugins/
export QT_QPA_GENERIC_PLUGINS=tslib
export LD_PRELOAD=$QtHome/tslib/libts.so
#字体
export QT_QPA_FONTDIR=$QtHome/lib/fonts

运行以下命令使上面的配置生效
source qtconf.sh

执行以下命令测试配置是否成功
echo $QtHome
正常会显示以下信息
/home/ldh/QtDir

12.qtcreator配置
1.打开 tools->options 选择Build&Run
2.增加Compilers(编译器)
点击Add选择GCC
然后点击Browse选择g++
/home/csgec/software/arm-2014.05/bin/arm-none-linux-gnueabi-g++
选择完成点Apply
3.增加Qt版本
选择Qt Versions
点击Add
选择/usr/local/qtlib5.6.0/bin/qmake
选择完成点击Apply
4.增加工具包
选择Kits
点击Add
修改Complier为第2步设置的
修改Qt version为第3步设置的
Name改为Qt5.6.0-ARM
完成后点击Apply and OK

5.编译工程时要注意选择刚刚添加的工具包Qt5.6.0-ARM
同时选择release
最后rebuild

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. 嵌入式QT移植

    1  开发环境 目标版:FS4412(Cortex-A9)开发板 交叉工具链:arm-linux-gcc 4.6.4 版本 Qt:qt-everywhere-opensource-src-5.4.2. ...

  9. qt 移植到开发板

    一.准备工作: 1.QT应用程序 2.工具链--->交叉工具链一安装,就会有标准的c库 3.扩展的第三方库(ARM)()触摸屏库(tslib.tar.gz) 4.QT库 二.使用交叉工具链编译t ...

随机推荐

  1. 获取map中的一个value值以及遍历map获得map里所有key、value的值

    前言: 1.声明一个map: Map map = new HashMap();2.向map中放值,注意:map是key-value的形式存放的.如: map.put(”sa”,”dd”); 3.从ma ...

  2. Mac 下面,添加android adb命令(一般环境变量的添加方法)

    1. 在 用户目录下   ~/.bash_profile vim  ~/.bash_profile 2.加入我们需要添加的环境变量,这里是 添加 android   platform-tools 和 ...

  3. 解决Only the original thread that created a view hierarchy can touch its views

    这种异常出现在子线程中处理UI操作产生的异常,将UI操作放在主线程中就OK了

  4. 继续几道经典的js题(局部和全局变量,对象等)

    1. //现有代码如下:var foo = 1;function main(){alert(foo);var foo = 2;alert(this.foo)this.foo = 3;}//1.请给出以 ...

  5. Tickets 基础DP

    Tickets Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  6. Lua学习系列(五)

    calling C functions from Lua 5.2 这篇文章也不错: http://blog.csdn.net/x356982611/article/details/26688287 h ...

  7. php 安装php5-mysql 拓展

    Your PHP installation appears to be missing the MySQL extension which is required by WordPress Error ...

  8. HDU 5613 Baby Ming and Binary image

    因为第一行和最后一行都是0,我们只需枚举最左边或最右边一列的01情况,即可得到整张表 然后再检验表是否符合要求 #include<cstdio> #include<cstring&g ...

  9. Xcode崩溃问题调试 signal SIGABRT&EXC_BAD_ACCESS

    在进行app开发过程中会遇到很多的问题,各种崩溃令人相当头疼.当然,解决bug的能力也体现了一个程序员的水平,现在来说一说开发中经常遇到的崩溃问题吧. 常见崩溃问题: 一是signal SIGABRT ...

  10. (中等) HDU 1828 Picture,扫描线。

    Problem Description A number of rectangular posters, photographs and other pictures of the same shap ...