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. Binary Watch

    Binary Watch 描述 Consider a binary watch with 5 binary digits to display hours (00 - 23) and 6 binary ...

  2. POJ 3984 迷宫问题 记录路径的广搜

    主要是学一下如何在广搜中记录路径:每找到一个点我就记录下这个点是由那个点得来的,这样我找到最后个点后,我就可以通过回溯得到我走过的路径,具体看代码吧~ #include<cstdio> # ...

  3. [转]使用openssl库实现RSA、AES数据加密

    openssl是可以很方便加密解密的库,可以使用它来对需要在网络中传输的数据加密.可以使用非对称加密:公钥加密,私钥解密.openssl提供了对RSA的支持,但RSA存在计算效率低的问题,所以一般的做 ...

  4. hrbustoj 2130 一笔画(状态压缩)

    基础状态压缩 转移方程为 dp[j][i] = min(dp[j][i],dp[k][i^(1<<j)] + dis[k][j]); #include<iostream> #i ...

  5. dos 命令集

    dos下下载远程服务器的文件 setp C:\WINDOWS\system32\cmd.exesetp C:\RECYCLER\cmd.exever --------查看window版本net use ...

  6. NAVICAT 拒绝链接的问题

    处理步骤 1.先在原有的建一个新的用户 2.成功后,再点击原有的,即可使用

  7. python数组查找算法---bisect二分查找插入

    1 实例 这个模块只有几个函数, 一旦决定使用二分搜索时,立马要想到使用这个模块 [python] view plaincopyprint? import bisect L = [1,3,3,6,8, ...

  8. BNU OJ 50998 BQG's Messy Code

    #include <cstdio> #define _(l) int l #define ___(l,L) for (_(o)=0,x=l o*2;o<x;o++)O= L o; # ...

  9. Spring整合Hibernate--声明式事务管理

    Spring指定datasource 1. 新建jdbc.properties文件: jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc: ...

  10. Quick Cocos2dx Http通讯

    服务端:Python 通讯协议:Http 参考文章: 1 用python实现一个基本的http server服务器 http://blog.sina.com.cn/s/blog_416e3063010 ...