主题 : 求教:Fedora 8+QT 4.5.0 +mini2440(20090102),搭建QT环境遇到的问题 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 32246
精华: 0
发帖: 79
金钱: 420 两
威望: 84 点
综合积分: 158 分
注册时间: 2010-11-12
最后登录: 2018-02-08
楼主  发表于: 2010-11-17 21:34

 求教:Fedora 8+QT 4.5.0 +mini2440(20090102),搭建QT环境遇到的问题

这是参考的技术手册
首先说明板子是mini2440,2009-01-02
我的PCFedora 8
交叉编译工具是arm-linux-4.3.3
参考的技术手册是
我完全按照手册上的内容做的,相信这个手册大家也有人看过,我看本论坛上也有帖子移植成功,步骤和这个手册上应该是差不多的
mini2440
给的配套光盘里有两种文件系统
root_qtopia_tp 
(带有触摸屏功能并且已经移植好qtopia                                root_default(没有触摸屏功能)
我选用的是root_default  ,我的想法是,在这两个文件系统的基础上进行改造,把技术手册上说的QtEmbedded-4.5.0-arm,libQtGui.so.4 libts-0.0.so.0 libQtCore.so.4 libQtNetwork.so.4,以及tslib
这些东东都放在了 root_default相应的位置中

/etc/init.d/rcS 中的内容如下:

#! /bin/sh



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



runlevel=S



prevlevel=N



umask 022



export PATH runlevel prevlevel

#



#     Trap CTRL-C &c only in this shell so we can interrupt subprocesses.



#

trap ":" INT QUIT TSTP



/sbin/hwclock -s



#SCSI modules



 

 

#Input modules



#Charactor modules

/sbin/insmod /lib/mini2440_backlight.ko

/bin/mknod /dev/pts/0 c 136 0

/bin/ln -s /dev/v4l/video0 /dev/video0

/bin/ln -s /dev/fb/0 /dev/fb0

/bin/ln -s /dev/vc/0 /dev/tty1

/bin/ln -s /dev/sound/dsp /dev/dsp

/bin/ln -s /dev/sound/mixer /dev/mixer

/bin/ln -s /dev/scsi/host0/bus0/target0/lun0/part1 /dev/sda1

/bin/mount -t proc none /proc

/bin/mount -t tmpfs none /tmp

/bin/mount -t tmpfs none /var

/bin/mkdir -p /var/lib

/bin/mkdir -p /var/run

/bin/mkdir -p /var/log

/etc/rc.d/init.d/netd start

echo "                        " > /dev/vc/0

echo "Starting networking..." > /dev/vc/0

usleep 300000

/etc/rc.d/init.d/httpd start

echo "                        " > /dev/vc/0

echo "Starting web server..." > /dev/vc/0

usleep 300000

/etc/rc.d/init.d/leds start

echo "                        " > /dev/vc/0

echo "Starting leds service..." > /dev/vc/0

echo "                        "

usleep 300000

#/sbin/ifconfig lo 127.0.0.1

/sbin/ifconfig eth0 202.207.246.12 up

 (这是我设置的板子的
IP)

/sbin/madplay /media/shanghaitan.mp3 &

/bin/ishow /media/note.jpg

/bin/hostname -F /etc/sysconfig/HOSTNAME

/bin/qt4 &

 

其中出了最后一行/bin/qt4 & /sbin/ifconfig eth0 202.207.246.12 up 与原设置不同,其他的都相同,而这个qt4是位于/bin下的一个脚本,内容如下

 

#!/bin/sh

export set  QTDIR=/usr/local/Trolltech/QtEmbedded-4.5.0-arm



export set  T_ROOT=/tslib



export set  PATH=$QTDIR/bin:$PATH



export set  TSLIB_CONSOLEDEVICE=none



export set  TSLIB_FBDEVICE=/dev/fb0



export set  TSLIB_TSDEVICE=/dev/input/event0



export set  TSLIB_PLUGINDIR=$T_ROOT/lib/ts



export set  TSLIB_CONFFILE=$T_ROOT/etc/ts.conf



export set  TSLIB_CALIBFILE=/etc/pointercal



export set  QWS_MOUSE_PROTO=tslib:/dev/input/event0



export set  LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib

 

if [ -f /etc/pointercal ] ; then

     
/smartHouse  -qws



       # > /dev/null 2>/dev/null



else



       /bin/ts_calibrate



#     $QPEDIR/bin/mousecalibration



      /smartHouse -qws



       # > /dev/null 2>/dev/null



fi

 

smartHouse 是位于/ 下的一个用QT Creator 编译生成的可执行文件,这个文件是没有问题的,我在另一个搭建好环境的板子中完全可以运行

接着我按照使用手册上的步骤设置好了nfs环境,将板子于主机连接好开始挂接网络文件系统,挂接成功,打印启动信息的最后一行为:

Please press Enter to activate this console.
/bin/qt4: /bin/qt4: 16: /smartHouse: not found



 

此时我可以进行控制,但是
/bin/qt4: /bin/qt4: 16: /smartHouse: not found

是什么意思,也就是说我的/smartHouse 总是无法执行,并且当我在控制台下运行

[root@FriendlyARM /]# ./smartHouse 的时候,又显示
-sh: ./smartHouse: not found

 

很奇怪这是为什么,我的QT 环境是不是没有搭建好呢?怎么会显示无法找到这个文件呢?

请各位给我指点迷津,我怀疑是不是因为这个 root_default没有触摸屏的驱动程序,还是说我在Fedora 8下无法编译出可以在这款板子下的QT 环境,因为用户手册上有这么一句:

     : 使 Qt/Embedded , Redhat9.0/Redhat7.2,并且不要使用其他发行版 Linux,诸如 Fedora 之类。


交叉编译器选择推荐
:arm-linux-gcc-3.3.2

 

实在有点晕

跪求答案!!!

 

级别: 新手上路
UID: 16854
精华: 0
发帖: 20
金钱: 100 两
威望: 20 点
综合积分: 40 分
注册时间: 2010-03-22
最后登录: 2011-06-28
1楼  发表于: 2010-11-17 23:14
我的也有问题,跪求大侠解答   
级别: 新手上路
UID: 31838
精华: 0
发帖: 13
金钱: 65 两
威望: 13 点
综合积分: 26 分
注册时间: 2010-11-06
最后登录: 2011-12-15
2楼  发表于: 2010-11-29 20:47
你所编译的软件的ABI与内核的不一致,请使用相同的交叉编译器编译内核与应用程序。建议使用新的内核与文件系统,或者用旧的编译器编译Qt应用应用程序。