一、到网站上面下载如下两个源码包.tar.gz(也可以是其它格式)。
①tslib-1.4.tar.gz②qt-everywhere-opensource-src-4.7.3.tar.gz。
二、移植tslib。
㈠将下载好的两个文件放到虚拟机的某个目录,用tar –zxvf解压tslib-1.4.tar.gz。
㈡cd tslib-1.4。
㈢./autogen.sh 用于生产configure文件。
㈣sudo apt-get install autoconf automake libtool 这三个工具一起用于产生Makefile。
㈤./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
㈥make 完成之后make install。
㈦修改/usr/local/tslib/etc目录下的ts.conf文件,将module_raw input前面的注释去掉。
三、编译qt-everywhere-opensource-src-4.7.3生成QtEmbedded-4.7.3-arm版本。
㈠用于在arm板上运行qt程序的embedded版本。
①用tar –zxvf解压qt-everywhere-opensource-src-4.7.3.tar.gz。
②cd qt-everywhere-opensource-src-4.7.3.tar.gz。
③vi src/gui/embedded/qwscursor_qws.h添加宏定义#define QT_NO_QWS_CURSOR,使得编出来的程序没有鼠标箭头;也可以在④中添加编译选项-D QT_NO_QWS_CURSOR(或者-no-feature-QWS_CURSOR)。
④在命令进行如下配置./configure -opensource -confirm-license -release -shared -embeddedarm -xplatform qws/linux-arm-g++ -depths 4,8,16,18,24,32 -fast -optimized-qmake-qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -little-endian-host-little-endian -no-qt3support -no-libtiff -no-libmng -no-opengl -no-mmx-no-sse -no-sse2 -no-3dnow -no-openssl -no-webkit -no-qvfb -no-phonon -no-nis-no-cups -no-glib -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-separate-debug-info-nomake examples -nomake tools -nomake docs -qt-mouse-tslib-I/usr/local/tslib/include -L/usr/local/tslib/lib -D QT_QWS_CLIENTBLIT -D__ARM_ARCH_4T__。
⑤3、修改源代码:qt-everywhere-opensource-src-4.7.3/mkspecs/qws/linux-arm-g++/qmake.conf文件
QMAKE_CC = arm-linux-gcc–lts
QMAKE_CXX = arm-linux-g++-lts
QMAKE_LINK = arm-linux-g++-lts
QMAKE_LINK_SHLIB = arm-linux-g++-lts
⑥make 完成之后make install。安装完成后的所用文件在/usr/local/Trolltech/QtEmbedded-4.7.3-arm下面。
四、将生成的安装文件放到开发板的相同目录下(没有目录就创建)。也可以先执行步骤五,然后在板子上跑一个程序,看差什么文件就拷贝什么文件。
五、在开发版进行配置。
在/etc/profile文件末尾添加如下配置。
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONSOLEDEVICE=none
继续添加如下配置
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.7.3-arm
export QT_QWS_FONTDIR=$QTDIR/lib/fonts /*QT字体路径*/
export QT_PLUGIN_PATH=$QTDIR/plugins /*QT插件路径*/
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib:$QTDIR/lib:$QTDIR/plugins/imageformats
/*QT鼠标关联设备文件*(前面如果定义了NO_QWS_CURSOR 则不会出现鼠标箭头,但可以通过tslib关联,如果编译源码配置了触屏,则就可以触屏,且不会有鼠标箭头),前面配出的版本支持触屏。*/
注意TSLIB_TSDEVICE、QWS_MOUSE_PROTO指定的设备与具体开发板内核相关,可能与上面不同,可以到/dev目录下查看。
重启开发板,在/usr/local/tslib/bin 目录下,输入./ts_calibrate,出现tslib的触摸屏五点校准画面,至此,QtEmbedded-4.7.3-arm的安装移植成功完成。(刚移植过来必须校准,不然只有屏幕中间那个点可点击,不能移动)。