主题 : qt-embedded-free-3.3.8在s3c2410开发板上的移植问题? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 23048
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
贡献值: 0 点
综合积分: 50 分
注册时间: 2010-06-11
最后登录: 2011-03-16
楼主  发表于: 2010-09-01 10:20

 qt-embedded-free-3.3.8在s3c2410开发板上的移植问题?

最近在2410开发板上移植qt-embedded-3.3.8,交叉编译步骤如下:
arm-linux-cross-2.95.3.tar.bz2在/usr/local/arm/2.95.3已装好,并且环境变量也配置好!
第一步.
tar jxvf qt-x11-free-3.3.8.tar.bz2
mv qt-x11-free-3.3.8 qtx11
cd qtx11
export QTDIR=$PWD
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
. /configure  
make
make -C tools/qvfb
mv tools/qvfb/qvfb bin

第二步
tar jxvf qt-embedded-free-3.3.8.tar.bz2
mv qt-embedded-free-3.3.8 qtarm
注意:把第一步qtx11/bin下交叉编译生成的moc、uic和qvfb拷贝到qtarm/bin下。

第三步  
环境变量的设置
export QTDIR=/home/renyc/Trolltech/qtarm
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH=$PATH:/usr/local/2.95.3/bin
. /configure -embedded arm xplatform qws/linux-arm-g++ -debug –qt-gif –qt-zlib -no-cups -thread –stl -qt-sql-sqlite -ipv6 -depths 16,24,32 -qt-mouse-usb -qt-kbd-key –qt-kbd-usb –qt-gfx-qvfb -qvfb –qt-libpng –qconfig qpe
配置顺利通过,然后
Make
Make install
编译顺利通过,下面是移植到开发板,一下都是在开发板上操作:
在开发板opt下:
cd opt
mkdir qt
新建一个目录,/qt/lib。进入此目录 cd /qt/lib
b. 通过NFS,把生成的库文件 libqte-mt.so.3.3.8 拷贝到/qt/lib 下
c. 建立链接
ln -s libqte-mt.so.3.3.8 libqte-mt.so
ln -s libqte-mt.so.3.3.8 libqte-mt.so.3
ln -s libqte-mt.so.3.3.8 libqte-mt.so.3.3
d. 建立环境变量
vi ~/.bashrc
在后面加上
export QTDIR=/opt/qt
export QTEDIR=$QTDIR
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH=$PATH:/qt/bin
export LANG=zh_CN
使环境变量生效(重启或者source命令)
e. 通过NFS,从目录qt-embedded-free-3.3.8/examples下面考几个示例程序到 /qt目录下
比如aclock,
执行 #./aclock -qws
但提示:Error:./aclock: error while loading shared libraries: cannot load shared object file: No such file or directory."也没有提示加载哪个库失败,不清楚是哪个库没加载,我把2.95.3/arm-linux/lib下的库都拷到开发板的/lib下还是出现同样的提示,我的板子原来装的是qt-embedded-2.3.7+qtopia-1.7.0,原来的程序都可以正常运行,请那位打个帮帮忙,给指点一下,谢谢!
还有个问题就是qt-embedded-3.3.8的程序可以独立在开发板上运行吗?还是必须借助于qtopia运行?谢谢
[ 此帖被kasim在2010-09-01 15:13重新编辑 ]
级别: 新手上路
UID: 23048
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
贡献值: 0 点
综合积分: 50 分
注册时间: 2010-06-11
最后登录: 2011-03-16
1楼  发表于: 2010-09-01 15:02
谢谢kasim !
按照您的方法问题解决了!
我的操作如下:
export PATH=$PATH:/usr/local/arm/2.95.3
arm-linux-readelf -d -I /home/renyc/Trolltech/qtarm/qte-3.3.8/examples/aclock/aclock | grep NEEDED
然后查出来需要的共享库:
libqte-mt.so.3
libdl.so.2
libpthread.so.0
libm.so.6
libc.so.6
然后在/usr/lib里找到所需要的库文件,有的是链接,然后ls -l把所需要的链接找到,下到开发板里的/lib下,在我的程序目录下/opt/lib建立链接即可。然后你就可以运行了。谢谢!
级别: 新手上路
UID: 23048
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
贡献值: 0 点
综合积分: 50 分
注册时间: 2010-06-11
最后登录: 2011-03-16
2楼  发表于: 2010-09-01 15:21
但是运行后出现Creating mouse:auto
cannot  open keyboard
这样的提示是不是得需要重新写键盘驱动啊?
难道以前的驱动不能用吗?
级别: 新手上路
UID: 23048
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
贡献值: 0 点
综合积分: 50 分
注册时间: 2010-06-11
最后登录: 2011-03-16
3楼  发表于: 2010-09-01 15:29
不好意思!还没有出来相应的界面,最近一个项目比较急,本打算用qt-embedded-3.3.8来开发,但是可能还要写驱动,这样时间不允许,所以我我还是决定用原来的qt-embedded-2.3.7+qtopia-1.7.0来开发,不过等这个项目完成之后,再搞这方面的东西。
不过在写程序的过程中可能还会碰到好多问题,到时候大家可以一起讨论。
谢谢您的关注!
级别: 新手上路
UID: 23048
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
贡献值: 0 点
综合积分: 50 分
注册时间: 2010-06-11
最后登录: 2011-03-16
4楼  发表于: 2010-09-01 16:41
谢谢您提供的文档!
我的理解要想qt-embedded能处理keyboard设备有两种方式:
一种是:  
         ./configure  -qt-kbd-usb
另一种是:
    export QWS_KEYBOARD=usb:/dev/usb设备
是这样的吗?
如果是这样,那QWS_KEYBOEARD在程序运行的时候配置吗?
但是我在编译qt-embedded的时候是这样加键盘驱动的: -qt-kbd-usb -qt-kbd-key
这两句话的意思是支持usb驱动的吧,不知道为什么会出现 cannot  open keyboard的情况?
级别: 新手上路
UID: 23048
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
贡献值: 0 点
综合积分: 50 分
注册时间: 2010-06-11
最后登录: 2011-03-16
5楼  发表于: 2010-09-02 10:15
昨天我的屏坏了,今天修好之后界面出来了 ,呵呵
但是又遇到问题,请总版主指教,如果不借助qtopia启动的话,embedded的程序应该怎么自启动呢?