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. ural1701 Ostap and Partners

    Ostap and Partners Time limit: 2.0 secondMemory limit: 64 MB Workman Ivan lost his job. Not because ...

  2. IE6下最小19px像素

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. 第一个元素<flout>写了,想在他的旁边加一个元素.IE6会出现缝隙. 不要用margin撑开,要用flout

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 你的float用对了吗

    介绍 很多人都知道float是浮点类型,它不能表示数据范围内的所有数值.但是,实际使用或编码时,你又是否记得这句话呢?下面是stackoverflow中的一个问题: why does a float ...

  5. editplus 常用

    个人习惯风格基本设置:document >preferences >fonts|( Comic sans MS  blod 18) -------------------- \n 去换行 ...

  6. 畅通工程续 (dijkstra)

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. Coloring Trees

    Coloring Trees time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  8. 攻入Javascript,究竟什么是AJAX

    什么是AJAX 时隔半年,当AJAX再一次出现在我脑海中时,从最初的模糊到现在的越来越明确.那么究竟什么是AJAX?它和form表单提交有什么区别? 如果你使用过AJAX和表单提交的话,想必会发现一件 ...

  9. HYBControllerTransitions中文文档

    中文文档 HYBControllerTransitions是自定义围场动画API封装类库,使用简便.使用者不需要了解太多转场动画知识,即可轻松接入项目使用. 这是一个给开发者们提供自定义push.po ...

  10. mustache.js使用基本(二)sections

    作者:zccst 本文记录基本使用二,主要讲sections. {{#person}} {{/person}} 1,当person是null, undefined, false, 0, NaN, &q ...