暂时不想去费好大劲去移植Qte库然后才去Qt编程,就基于友善的Linux-2.6.32进行Qt编程,虽然可以通过Qtopia运行Qt4.6demo,但是从命令行却无法运行,如图是运行自带的demo时出现的错误:

图(Qt-2

说是缺少共享库libts-0.0.so.0经过搜索其在/usr/local/lib中并且是链接到同目录下的libts-0.0.so.0.1.1。这就说明有这个库,但是没有找到。

方法1:将其和被链接的库文件到/lib目录中,再运行那个demo,运行成功:

图(Qt-1

但遗憾的是触摸屏不能用,那么我觉得这种方法进行下去不太好,应该走改环境变量那条路。还把那两个库放回原地。

方法2:修改环境变量

首先看看qt4是怎么启动的,打开/bin/qt4脚本:

#!/bin/sh

export TSLIB_TSDEVICE=/dev/input/event0 

export TSLIB_CONFFILE=/usr/local/etc/ts.conf

export TSLIB_PLUGINDIR=/usr/local/lib/ts

export TSLIB_CALIBFILE=/etc/pointercal

export LD_LIBRARY_PATH=/usr/local/lib

export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/bin

export QWS_DISPLAY=:1

TS_INFO_FILE=/sys/devices/virtual/input/input0/uevent

if [ -e $TS_INFO_FILE -a "/bin/grep -q TouchScreen < $TS_INFO_FILE" ]; then

export QWS_MOUSE_PROTO="Tslib:/dev/input/event0 MouseMan:/dev/input/mice"

if [ ! -s /etc/pointercal ] ; then

rm /etc/pointercal

/usr/local/bin/ts_calibrate

fi

else

export QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"

fi

unset TS_INFO_FILE

export QWS_KEYBOARD=TTY:/dev/tty1

export HOME=/root

cd /usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher

./fluidlauncher -qws

hotplug

shell脚本可知:原来友善之臂把环境变量什么的放在这这里边了。不过最终启动的是/usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher目录下的fluidlauncher。那我就可以借力打力了,复制qt4qt脚本,把28行删除,把29行改为:$1 -qws$1代表命令行的第一个参数

这样使用这个脚本启动刚才那个demo

#qt ./emembeddedsvgviewer 

运行结果如下图:

(图-3

趁这个机会把自己编译的Qt程序也运行一下:

#qt ./clock2

运行结果如下图:

(图-4

这样就可以安心地编写我的 Qt 应用程序了。
Logo

更多推荐