• 5816阅读
  • 8回复

[提问]S3C2440下的Qt开发疑问,急 [复制链接]

上一主题 下一主题
离线zjun726
 
只看楼主 倒序阅读 楼主  发表于: 2013-05-14
初学Linux和Qt,买了块友善之臂的2440开发板,想在上面做图形开发
我目前的做法是这样的:
1、在PC上虚拟机安装了Fedora14,然后在Fedora14上安装了Qt Create2.7.0
2、下载了qt-everywhere-opensource-src-4.8.4.tar.gz,解压后安装在Fedora14上面
3、我把友善之臂提供的文件系统里面的关于qtopia2.2.0的文件夹和文件都删掉了,还有里面的qte4.6.3文件夹也删掉了;然后把qt4.8.4里面的lib文件夹复制到文件系统中的usr/local/Trolltech/qt4.8.4目录下面
4、在fedora下的Qt Create2.7下按照书上的例子做了个Find对话框,在Fedora下面能运行
5、把build生成的Find目录放到文件系统里面去,然后修改了启动脚本
6、生成文件系统,然后download到开发板上面
7、启动后在串口下输入qt4的启动脚本,执行Find时,却报错
./find:line 1: syntax error:"(" unexpected


不知道这样做哪个地方有问题啊,我看了Qt Create2.7的设置,在kit 下的配置是Desktop,是不是在桌面下的图形不能再嵌入式运行啊?



离线zjun726
只看该作者 1楼 发表于: 2013-05-14
离线netwp

只看该作者 2楼 发表于: 2013-05-14
没看到交叉编译呢
离线mr_double

只看该作者 3楼 发表于: 2013-05-14
要下载到板子的话,编译器应该使用交叉编译器吧
离线zjun726
只看该作者 4楼 发表于: 2013-05-14
下午搞定了,确实要先编译安装arm下的qt,我按照开发板给的使用手册编译安装了Qte 4.6.3,成功在开发板上移植了find例子。

现在还有一个问题:我编译好find,放到文件系统里面后,如果在串口下面直接执行./find -qws,会报错:
./find:error while loading shared libraries: libts-0.0.so.0: can not open shared object file: No such file or directory

但是如果我再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
cd /usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/find
./find -qws
hotplug

分析后,发现问题应该出在脚本文件最前面的那些库文件目录路径的包含,直接在串口下执行时没有包含那些库文件的,所以会报错。

但是在调试阶段,也不可能每次都把文件放到文件系统里面,然后重新下载文件系统,那样太麻烦了。

有没有哪位知道如果解决这个问题啊?谢谢。
离线zjun726
只看该作者 5楼 发表于: 2013-05-14
之前那个问题也解决了,在/etc/profile里面添加库的路径就可以了。

现在又有一个问题,就是按照上面的脚本执行完毕后,退出了。如果我在串口shell下面再次执行./find -qws,LCD屏幕上有显示,但是触摸屏不起作用了。这是怎么回事啊,怎么让触摸屏一直起作用啊。
离线ywmlovecss

只看该作者 6楼 发表于: 2013-05-15
触摸屏起什么作用呀!!触发回应???
离线ckoh

只看该作者 7楼 发表于: 2013-09-09
引用第5楼zjun726于2013-05-14 19:52发表的  :
之前那个问题也解决了,在/etc/profile里面添加库的路径就可以了。
现在又有一个问题,就是按照上面的脚本执行完毕后,退出了。如果我在串口shell下面再次执行./find -qws,LCD屏幕上有显示,但是触摸屏不起作用了。这是怎么回事啊,怎么让触摸屏一直起作用啊。


用命令行检查触摸屏驱动还响应不?
cat  /dev/input/event0
或者 cat /sys/class/hwmon/hwmon0/device/adc0_raw
看有输出没有?
离线ckoh

只看该作者 8楼 发表于: 2013-09-10
引用第4楼zjun726于2013-05-14 17:28发表的  :
下午搞定了,确实要先编译安装arm下的qt,我按照开发板给的使用手册编译安装了Qte 4.6.3,成功在开发板上移植了find例子。
现在还有一个问题:我编译好find,放到文件系统里面后,如果在串口下面直接执行./find -qws,会报错:
./find:error while loading shared libraries: libts-0.0.so.0: can not open shared object file: No such file or directory
.......

把脚本最后一句 hotplug注释掉,看看........
快速回复
限100 字节
 
上一个 下一个