Ubuntu10.04下S3C6410的tslib和qte4.4.0编译和移植

来源:互联网 发布:mac docker lnmp 编辑:程序博客网 时间:2024/06/10 09:25

一、环境

Linux::ubuntu10.04 S3C6410

Qt版本:ate4.4.0

交叉编译工具链:arm-linux-gcc 4.3.1


二、编译和移植Tslib-1.4

检查依赖软件和依赖库是否安装

sudo apt-get install automakesudo apt-get install autogensudo apt-get install autoconfsudo apt-get install automake libtoolsudo apt-get install build-essentialsudo apt-get install libxrender-dev libxrandr-dev libxcursor-dev libxinerama-dev libxi-dev libxt-dev libglib2.0-dev libxtst-devsuso apt-get install libx11-dev libxext-dev libxtst-dev 

# tar -zxvf tslib-1.4.tar.gz# cd tslib# ./autogen.shecho "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移植到开发板上面去

一种可以:

  1. /usr/local/tslib/lib文件下除去pkgconfig目录外其他所有文件拷贝到开发板/lib目录下
  2. /usr/local/tslib/etc下的ts.conf拷贝到开发板的/etc下,在复制对应目录之前修改文件如下,也可以复制完成后修改。
还有一种就是将tslib整个目录拷到文件系统中的/usr/local下面去

下面是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/libexport TSLIB_TSDEVICE=/dev/event0export TSLIB_PLUGINDIR=$PWD/lib/tsexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_CONFFILE=$PWD/etc/ts.confexport POINTERCAL_FILE=/mnt/yaffs/up_video/ts-calib.confexport TSLIB_CALIBFILE=/mnt/yaffs/up_video/ts-calib.confexport QWS_MOUSE_PROTO=Tslib:/dev/event0export 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=640X480export 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-gcc
QMAKE_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__makemake install
安装到/usr/local/Trolltech/目录下面

设置环境变量

export QTDIR=/mnt/yaffs/qt_guiexport QPEDIR=$QTDIRexport LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib:$QTDIR/libexport QWS_MOUSE_PROTO=TPanel:/dev/event0export PATH=$PATH:$QTDIR/bin:$OPIEDIR/binexport TSLIB_CONFFILE=/usr/local/etc/ts.confexport TSLIB_PLUGINDIR=/usr/local/lib/tsexport HOME=/mnt/yaffs/
以上的所有设置均基于博创UP-CUP6410-二型开发板