交叉编译tslib1.4过程详述,配合QT4.5.3成功在Mini2440运行成功(二)

2014-11-24 10:44:18 ? 作者: ? 浏览: 1
现以下错误:


./ts_calibrate: line 1: syntax error :”(” unexpected.


$export PATH=$PATH:/usr/local/arm/4.3.2/bin


$export CC=arm-linux-gcc


$export CXX=arm-linux-g++


设置好交叉编译环境后就可以开始安装了:


执行./autogen.sh



执行./autogen.sh之后可能会有上述信息出现,但是我的机器上灰常不给力,只是显示出其中几行信息,一开始以为是出错,但是最后还是移植成功,证明这步就算只出现几行信息并无多大关系。


接着执行以下命令:


./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes


(1)有些开发板在执行此命令时需要添加—enable inputapi=no或者—enable input=no,至于是哪一个就需要根据tslib目录下的configure文件才可以知道。(建议这个文件还是看一下)。由于友善之臂mini2440的触摸屏驱动是支持ioctl操作的(在内核移植时做触摸屏驱动时可以看到源码中是支持ioctl的),因此我在这里并没有加上—enable inputapi=no.


(2)如果没有加上ac_cv_func_malloc_0_nonnull=yes会出现交叉编译错误:undefined reference to `rpl_malloc'. 这是由ac_cv_func_malloc_0_nonnull检查引起的,为了不让它检查,产生一个cache文件daiq_tslib.cache,欺骗configure再执行:因此为了编译的顺利进行,在配置的时候需要加上这一句:ac_cv_func_malloc_0_nonnull=yes


最后执行make & make install就可以在指定的路径上成功安装tslib。我的指定路径是/usr/local/tslib/,在这个文件下安装成功的话会有四个目录:lib/ etc/ include/ bin/.


安装好tslib之后将动态链接库文件拷贝到根文件系统中,(注意tslib依赖的是动态链接库文件),如果忘记拷贝动态链接库的话会出现以下错误:


拷贝进去之后需要在自己的根文件系统的/etc/profile(在文件的一开始添加下面的内容)设置tslib的环境变量(要根据自己的实际情况来设置),下面是我的开发板所设置的有关tslib的环境变量:


# Ash profile


#vim syntax=sh


#No core files by default


echo "Set ENV for tslib......"


export QTDIR=/usr/local/Trolltech/QtEmbedded-4.5.3-arm(文件系统中QT的安装目录)


export TSLIB_ROOT=/usr/local/tslib (tslib的目录)


export TSLIB_CONSOLEDEVICE=none


export TSLIB_FBDEVICE=/dev/fb0


export TSLIB_TSDEVICE=/dev/input/event0


export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal


export POINTERCAL_FILE=$TSLIB_ROOT/etc/pointercal


export QWS_DISPLAY=LinuxFb:dev/fb0


export set QWS_SIZE=320x240


export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH


echo “the env is successful”


当配置好这些环境变量后下载到开发板,执行./ts_calibrate时如果出现:


ts_open: No such file or directory


说明环境变量设置有问题,可以用env命令查看一下有没有你刚才设置的环境变量。在设置环境变量这一个环节上是比较重要的,要保证在每一个目录下都存在你需要用到的文件。


如果移植成功:


cd /usr/local/tslib/bin


./ts_calibrate 校准触摸屏


./ts_test 测试触摸屏



-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: