dungeons dolls道具:qt-embedded-linux-opensource-src-4.5.1成功移植到micro2440

来源:百度文库 编辑:偶看新闻 时间:2024/04/24 06:36:23
交叉编译:arm-linux-g++ 4.3.2Qt版本 qt-embedded-linux-opensource-src-4.5.3.tar.gz

 触摸屏 tslib1.4

 

1. 首先安装交叉编译器。我使用的友善提供的4.2.3无需编译直接解压就可以了
#tar xvzf arm-linux-gcc-4.3.2.tgz –C /
注意:C 后面有个空格,并且C 是大写的,在此是改变目录的意思。
执行该命令,将把arm-linux-gcc 安装到/usr/loca/arm/4.3.2 目录。 设置环境变量#gedit /root/.bashrc
编辑/root/.bashrc 文件,在最后一行 export PATH=$PATH:/usr/local/arm/4.3.2/bin
保存退出

2. tslib1.4的安装
正确解压,我安装在/tslib-1.4

#./autogen.sh                           
#echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
//配置目标机、缓冲、安装路径
#./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=/tslib-1.4 --enable-inputapi=no  
#make
#make install
注:如果你的触摸屏驱动支持ioctl操作,在./configure时不用“--enable-inputapi=no”,不支持就要添上,如果不添加无法运行程序,会有“ts_open:Inappropriate ioctol for device“、“ts_open: No such file or directory”这样的错误。 3 QtE的配置和安装
#cd /home/QT#tar zxvf qt-embedded-linux-opensource-src-4.5.3.tar.gz#cd qt-embedded-linux-opensource-src-4.5.3 #./configure -prefix /home/QT/qt-embedded -release -shared -fast -no-largefile -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -no-webkit -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libjpeg -make libs -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++ -embedded arm -little-endian -qt-freetype -depths 16 -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-usb -no-glib -qt-mouse-tslib -I/tslib-1.4/inclued -L/tslib-1.4/lib

#make
#make install其中的具体配置网上都有详细的说明
安装在/home/QT/qt-embedded目录下
设置环境变量#vi /etc/profile添加语句PATH=/home/QT/qt-embedded/bin:$PATH
export PATH #source /etc/profile 加环境变量:#export QTDIR=/home/QT/qt-embedded#export QTEDIR=$QTDIR
#export PATH=$QTDIR/bin:$QPEDIR/bin:$PATH
#export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

4 移植
我用的是nfs方式调试,这样比较方便,而且没有大小的限制
我的nfs根目录是/home/QT
设置共享目录(注:先关闭虚拟机防火墙)#gedit /etc/exports添加语句/home/QT *(rw,sync,no_root_squash)#/etc/init.d/nfs start

按照友善的micro2440-um-20090728.pdf版设置的
路径为
/opt/FriendlyARM/mini2440/root_qtopia
我将整个安装的/QtE-4.5.1-arm 文件都拷贝到了roo_qtopia/ 目录下,刚刚开始还不知道哪些需要裁减,等以后再来忙忙学习吧
将/tslib-1.4 也copy到roo_qtopia/ 目录下
移植最重要的就是设置环境变量
我的环境变量设置shell文件如下

export TSLIB_ROOT=/tslib-1.4
export TSLIB_TSDEVICE=/dev/input/event0
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$LD_LIBRARY_PATH
export QWS_SIZE=320x240
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CONFFILE$TSLIB_ROOT/etc/ts.conf
export POINTERCAL_FILE=/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal cd /tslib/bin/
./ts_calibrate# 触摸屏校准 出现5各点依次点击
问题1:
./ts_calibrate: error while loading shared libraries: libts-0.0.so.0: cannot open shared object file: Error 40
./ts_calibrate: error while loading shared libraries: libts-0.0.so.0: cannot ope
n shared object file: No such file or directory
解决办法:
#echo $LD_LIBRARY_PATH  //查看lib路径,
#export LD_LIBRARY_PATH=$T_ROOT/lib 问题2:
ts_open: No such file or directory
解决办法:
#export TSLIB_TSDEVICE=/dev/input/event0   //触摸屏设备路径问题3:
Couldnt open tslib config file: No such file or directory ts_config: Illegal seek
解决办法:
#export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf问题4:
Couldnt load module pthres
No raw modules loaded.
ts_config: Success
解决办法:
#export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
问题5:
No raw modules loaded.
Ts_config: No such file or directory
解决办法:
修改$T_ROOT/etc/ts.conf, 至少放开一个module_raw, 并去掉前面空格 

在超级终点中运行就,qt4可以正常显示,ok
全部移植成功