不是一个称职的程序员……
分类: C/C++
2014-01-12 00:09:22
编译并安装后会在/usr/local/tslib生成bin,etc,include,lib四个文件夹。
bin文件夹下是tslib的测试程序,把它们复制到开发文件系统下的/bin或者/usr/local/bin下,除了ts_calibrate触摸屏校准程序外,其他几个测试程序可有可无。
etc文件夹内只有一个文件ts.conf,把它复制到目标板文件系统下的/etc目录,修改/etc/ts.conf配置如下:
module_raw input (注意把这句前的注释符#删除)
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
include文件夹包含有关tslib的头文件tslib.h,不需要复制到目标板。
lib文件夹下是tslib的动态库的。在目标板文件系统/usr/local/下新建文件夹tslib,把lib文件夹下的所有文件都复制过去。
在你目标板的/etc/profile文件里添加运行tslib的环境变量。
export TSLIB_TSDEVICE=/dev/input/event0 (目标板触摸屏设备节点文件)
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/tslib/ts
export TSLIB_CALIBFILE=/etc/pointercal (触摸屏校准信息文件)
export LD_LIBRARY_PATH=/usr/local/tslib/:$LD_LIBRARY_PATH
以上是我在自己目标板添加的环境变量,可以正常运行,参考网友环境变量配置如下(这个环境变量多一些,比较全面,做下记录):
export TSLIB_ROOT=/usr/local
export TSLIB_TSDEVICE=/dev/event0 (目标板触摸屏设备节点文件)
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib(这句我注释掉的原因是:有一种说法是使用 LD_LIBRARY_PATH这样设置不安全,我的做法是把路径添加到/etc/ld.so.conf文件中,然后执行ldconfig命令,这样就可以了。ldconfig在你的交叉编译工具里就有)
修改/etc/profile后,执行:#source /etc/profile使刚配置的环境变量生效。
运行触摸屏校准程序ts_calibrate,会自动生成文件/etc/pointercal来保存校准信息。到此tslib移植工作完成!
二、编译qte-4.7.0
1、下载源码并解压qt-everywhere-opensource-src-4.7.0
2、配置源码:
./configure -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon -I/usr/local/tslib/include -L/usr/local/tslib/lib
3、make
4、make install
一两个小时安装完后,这地自动生成 /usr/local/Trolltech目录,这是qt-everywhere-opensource-src-4.7.0安装后所在的目录。以后编译开发板上运行的qt程序,只需调用该目录下的库文件便可。
5、将主机/usr/local/Trolltech目录的内容拷贝到开发板相应目录,例如和主机一样/usr/local/Trolltech
6、设置环境变量,编写一个脚本文件
vi setenvQtarm.sh
添加如下内容:
PATH=/usr/local/Trolltech/QtEmbedded-4.5.0-arm/bin:$PATH
QTDIR=/usr/local/Trolltech/QtEmbedded-4.5.0-arm
QTDEDIR=$QTDIR
MANPATH=$QTDIR/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH QTDIR MANPATH LD_LIBRARY_PATH
我们在运行的时候运行对应的脚本即可
#source setenvQtarm.sh
然后就可以用qmake designer等工具了.
注:在端口执行有效,如果运行source setenv 再打开另端口.那样就会出错.
如果编译QT程序,记得先运行相应脚本,即可用相应的QT平台编译QT程序。