交叉编译:arm-linux-g++ 4.3.2
Qt版本 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的安装 #./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版设置的 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 |
|