一、环境
Linux::ubuntu10.04 S3C6410
Qt版本:ate4.4.0
交叉编译工具链:arm-linux-gcc 4.3.1
二、编译和移植Tslib-1.4
检查依赖软件和依赖库是否安装
sudo apt-get install automake
sudo apt-get install autogen
sudo apt-get install autoconf
sudo apt-get install automake libtool
sudo apt-get install build-essential
sudo apt-get install libxrender-dev libxrandr-dev libxcursor-dev libxinerama-dev libxi-dev libxt-dev libglib2.0-dev libxtst-dev
suso apt-get install libx11-dev libxext-dev libxtst-dev
# tar -zxvf tslib-1.4.tar.gz
# cd tslib
# ./autogen.sh
echo "ac_cv_func_malloc_0 _nonnull=yes">arm-linux.cache
# ./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no -prefix=/usr/local/tslib
# make
# make install
-prefix=/usr/local/tslib是指定安装路径,其实包括下文的安装配置,路径都可以不指定,默认就是安装到/usr/local/目录下
下面就是将安装好的tslib移植到开发板上面去
一种可以:
- /usr/local/tslib/lib文件下除去pkgconfig目录外其他所有文件拷贝到开发板/lib目录下
- /usr/local/tslib/etc下的ts.conf拷贝到开发板的/etc下,在复制对应目录之前修改文件如下,也可以复制完成后修改。
下面是ts.conf文件的第一行与第二行
#Uncomment if you wish to use the linux input layer event interface
#module_raw input
去掉# module_raw input前面的注释,一定要注意中间的空格也去掉,module顶格。下面就是添加环境变量
export LD_LIBRARY_PATH=$PWD/lib
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_PLUGINDIR=$PWD/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CONFFILE=$PWD/etc/ts.conf
export POINTERCAL_FILE=/mnt/yaffs/up_video/ts-calib.conf
export TSLIB_CALIBFILE=/mnt/yaffs/up_video/ts-calib.conf
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export TSLIB_CALIBFILE=/mnt/yaffs/up_video/ts-calib.conf
#export QWS_MOUSE_PROTO="TPanel:/dev/event2 MouseMan:/dev/mice"
export QWS_DISPLAY="LinuxFb:mmWidth160:mmHeight140:0"
export QWS_SIZE=640X480
export LANG=zh_CN
三、编译qte4.4.0
下载qt-embedded-linux-opensource-src-4.4.0.tar.bz2
解压后进入目录
修改qt-embedded-linux-opensource-src-4.4.0/mkspecs/qws/linux-arm-g++/qmake.conf文件,使编译器名称为上面安装的编译器,如下所示:
QMAKE_CC = arm-angstrom-linux-gnueabi-gccQMAKE_CXX = arm-angstrom-linux-gnueabi-g++
QMAKE_LINK = arm-angstrom-linux-gnueabi-g++
QMAKE_LINK_SHLIB = arm-angstrom-linux-gnueabi-g++
# modifications to linux.conf
QMAKE_AR = arm-angstrom-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = arm-angstrom-linux-gnueabi-objcopy
QMAKE_STRIP = arm-angstrom-linux-gnueabi-strip
echo 'yes' | ./configure -embedded arm -xplatform qws/linux-arm-g++ -nomake demos -nomake examples -no-stl -no-qt3support -no-phonon -no-svg -no-webkit -no-openssl -no-nis -no-cups -no-iconv -no-pch -no-dbus -no-separate-debug-info -depths 8,16,32 -fast -little-endian -qt-mouse-linuxtp -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib -prefix /usr/local/Trolltech/Qt-embedded-4.4.0 -D__ARM_ARCH_5TEJ__
make
make install
安装到/usr/local/Trolltech/目录下面
设置环境变量
export QTDIR=/mnt/yaffs/qt_gui
export QPEDIR=$QTDIR
export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib:$QTDIR/lib
export QWS_MOUSE_PROTO=TPanel:/dev/event0
export PATH=$PATH:$QTDIR/bin:$OPIEDIR/bin
export TSLIB_CONFFILE=/usr/local/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/lib/ts
export HOME=/mnt/yaffs/
以上的所有设置均基于博创UP-CUP6410-二型开发板