./autogen.sh
./configure --host=arm-linux --target=arm-linux --prefix=$PWD/build --enable-static=yes --enable-shared=no
3).修改source code
1。make的时候libtool:link: only absolute run-paths are allowed错误
解决办法:要修改/tslib/plugins/Makefile里面找rpath
将LDFLAGS :=$(LDFLAGS) -rpath $(PLUGIN_DIR)
修改为:
LDFLAGS :=$(LDFLAGS) -rpath `cd $(PLUGIN_DIR) && pwd`
2。修改src/ts_read_raw.c中的char *defaulttseventtype="H3600",因为我的触摸屏驱动对应此结构。
3。修改src/ts_read_raw.c 中的 ts_config.c文件中 int ts_config(struct tsdev *ts) return ret改为 return 0;
使用默认配置即可,因为这个地方会出现一个错误,错误原因不明,请赐教。
4). 编译与安装
make
make install
cd tests
arm-linux-gcc -o ts_calibrate ts_calibrate.o fbutils.o font_8x8.o font_8x16.o ../src/.libs/libts.a -ldl -static
cd ../
mv tests/ts_calibrate build/bin/
mv build/etc/ts.conf build/etc/conf
5). 运行
export QT_QWS_FONTDIR=/mnt/qt/lib/fonts
export QWS_MOUSE_PROTO="linuxtp:/dev/ts"
mknod /dev/ts c 13 128
export V_ROOT=/mnt/build
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$V_ROOT/etc/conf
export TSLIB_PLUGINDIR=$V_ROOT/share/ts/plugins
export LD_LIBRARY_PATH=$V_ROOT/lib
最后就可以运行build/bin/ts_cXX应用程序了,运行中将会出现屏幕矫正,矫正完成会在TSLIB_CALIBFILE目录下生成QT或是MINIGUI所需要的标准校验文件。
出现问题 In function `dlfcn_load' , 可加上-ldl解决, 要证工具链中有这个库才可以
:dso_dlfcn.c:(.text+0x45): undefined reference to `dlopen'
:dso_dlfcn.c:(.text+0xc4): undefined reference to `dlclose'
:dso_dlfcn.c:(.text+0x102): undefined reference to `dlerror'
解决方法:
在Makefile中的链接参数加上 -ldl就可以解决了
PS:
1. 由于我使用的是静态连接,生成的ap不需要到库就可以执行。
2. SD文件名错误的关系将ts.conf 改为 conf。