移植qt4.8.0到mini2440

本文详细介绍了如何使用arm-linux-gcc4.4.3交叉编译器在Ubuntu10.04环境下,将Qt4.8.0源代码移植到mini2440硬件平台上的过程。包括了移植tslib、设置环境变量、编译Qt以及应用到开发板的步骤,并解决了使用高版本编译器可能导致的问题。
摘要由CSDN通过智能技术生成

首先声明我并不是喜新厌旧,我活着就是为了折腾!哈哈......(有点过了)
 
很久没有碰Qt了,因为需要所以移植一下Qt到arm上,没有查阅最新版本到底有什么改动,但是总是忍不住的用新东东。想起公司老总说的一句话:人追求好的东西总是无止境的。他的本意是想说,虽然公司卖的是奢侈品,但是总是有许多客户的,因为人总是想着追求好的东西,包括物质与精神世界,很有道理,这跟我们有了nokia之后总想着买iphone了是一个道理。淡定淡定......
 
==============================================================================
交叉编译器:arm-linux-gcc 4.4.3(友善之臂提供)
平台:Ubuntu 10.04
硬件:mini2440,256M Flash,X35 LCD
Tslib:Tslib-1.4
==============================================================================
在前面内核和文件系统都是用4.1.2版本的交叉编译器编译的,本来没打算换编译器的,但是4.1.2编译器无法编译4.8.0版本qt,如果现在用qt应用程序用高版本的编译器会不会有什么问题?我是有这个担心的,但是最终的实验结果是只要替换掉高版本的lib即可。而为了不出现不必要的麻烦,我将文件系统重新用arm-linux-gcc.4.4.3编译了一遍。
 
一.准备工作
移植之前首先确保LCD和触摸屏移植成功。可以参阅:
 
老规矩,第一步还是移植tslib。
  1. #tar xzvf tslib-1.4.tar.gz 
  2. #cd tslib/ 
  3. #./autogen.sh
  4. #echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
  5. #./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no -prefix=/home/xura/opt/tslib
  6. #make && make install
  7. #cp -fr /home/xura/opt/tslib /home/xura/work/tslib(没有则新建一个)
  8. #cd /home/xura/work/tslib/etc 
  9. #vi ts.conf
去掉module_raw input前面的#号,同时把它的#号注释项全部删除,不要让这些BT的东东扰乱了你的思维。
我的最终ts.conf内容为: 
  1. module_raw input 
  2. module pthres pmin=
  3. module variance delta=30 
  4. module dejitter delta=100 
  5. module linear
将tslib下载到开发板,我使用的U盘。当然linux内核要支持USB咯。可以参考:
http://blog.chinaunix.net/space.php?uid=20788517&do=blog&id=34705
设置环境变量:
在开发板设置环境变量(我将tslib放置在/opt目录下)
  1. #vi setenv.sh
export T_ROOT=/opt/tslib
export LD_LIBRARY_PATH=$T_ROOT/lib
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=$T_ROOT/pointercal
export LD_LIBRARY_PATH=$T_ROOT/lib:$LD_LIBRARY_PATH
 
  1. chmod +x setenv.sh
  2. . setenv.sh
  3. cd /opt/tslib/bin
  4. ./ts_calibrate
进行测试。如果一切正常,进入下一步移植qt。
 
二.编译Qt4.8.0
 
 
我的配置:
  1. #./configure -prefix /home/xura/work/qtearm_4.8.-embedded arm -no-opengl 
  2.   -no-qt3support -no-cups -no-dbus -no-3dnow -no-neon -no-phonon -no-openssl 
  3.   -no-svg -qt-mouse-tslib -I (我的tslib目录/include) -(我的tslib目录/lib)

  4. #make && make install
编译完成之后Qt被安装在/home/xura/work/qtearm_4.8.0目录下。
设置环境变量:
  1. #vi setqteenv.sh
QTEDIR=/home/xura/work/qtearm_4.8.0
PATH=$QTEDIR/bin:$PATH
LD_LIBRARY_PATH=$QTEDIR/lib:$LD_LIBRARY_PATH

#source setqteenv.sh
即可生效环境变量,使用qmake等工具了。
 
三.移植Qt
 
写一个应用程序,移植到开发板。
可以到qt的example或者demo里面找,这里我用自己写的代码做测试。用qt for PC测试:
qmake-->make-->
在ubuntu下面运行结果:
 
用qtearm_4.8.0编译之后,查看共享库。
 
将程序与库文件与下载到开发板,设置开发板的环境变量:
  1. #vi setqtearm.sh

export T_ROOT=/opt/tslib                 
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=$T_ROOT/pointercal
export QTEDIR=/opt/qtearm              
export QT_QWS_FONTDIR=$QTEDIR/lib/fonts  
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
export QWS_KEYBOARD=none
export LD_LIBRARY_PATH=$T_ROOT/lib:$QTEDIR/lib:$LD_LIBRARY_PATH
 
运行程序即可。
有图有真相。(手机拍的)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值