• 10765阅读
  • 14回复

qt/e程序向ARM移植的问题请教 [复制链接]

上一主题 下一主题
离线luo_dean
 

只看楼主 倒序阅读 楼主  发表于: 2009-06-03
    小弟参考前面各位大侠的帖子,终于明白了一点Qt/e的东西了,今天尝试发布将Qt/e的例子发布到ARM板上,结果还是出现如下问题:
   先说具体情况了:
           1 我在板子的/opt/目录下新建两个文件夹:/opt/qt、/opt/bin。拷贝libQtGui.so.4.5.1  libQtCore.so.4.5.1 libQtNetwork.so.4.5.1fonts拷贝到/opt/lib下,将/QtEmbedded-4.5.1-for arm/demo/下的二进制文件affine拷贝到/opt/bin下面。
           2 新建一个profile文件,内容如下
           # /etc/profile
         export QTDIR=/opt/qt
         #export PATH=$QTDIR:$QTDIR/plugins:$PATH
         export LD_LIBRARY_PATH=$QTDIR/lib
         #export set QWS_MOUSE_PROTO=LinuxTP:/dev/h3600_tsraw
         #export QWS_DISPLAY="LinuxFb:mmWidth640:mmHeight480:0"
         #export QT_PLUGIN_PATH=$QTDIR/plugins/
         #export QT_QWS_FONTDIR=$QTDIR/lib/fonts
         #
          重新制作成根文件系统。重启后进入/opt/bin/,./affine -qws
却得到如下信息:
-sh: affine: not found
我觉得是我的环境变量设置的有问题,不知道该如何改。
        期待前辈解答。
离线bhwbj
只看该作者 1楼 发表于: 2009-06-03
不会重启后bin下就没东西了吧?
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线luo_dean

只看该作者 2楼 发表于: 2009-06-03
不会重启后bin下就没东西了吧?
=======================================
还在啊。
[ 此帖被luo_dean在2009-06-03 17:00重新编辑 ]
离线bhwbj
只看该作者 3楼 发表于: 2009-06-03
我编译了下affine,出现了:
In file included from main.cpp:42:
xform.h:45:27: error: arthurwidgets.h: No such file or directory


你那里有这个头文件?

如果祢就是想测试一下的话,有很多demo都可以用,换个别的看看。
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线luo_dean

只看该作者 4楼 发表于: 2009-06-03
我编译了下affine,出现了:
In file included from main.cpp:42:
xform.h:45:27: error: arthurwidgets.h: No such file or directory


你那里有这个头文件?

如果祢就是想测试一下的话,有很多demo都可以用,换个别的看看。
=======================================================================
谢谢。我这里也没有这个文件,编译出现同样的错误。我是直接拷贝的/demos下面的。安装Qt/e时编译成的这些demos不能直接用么?
我再重新编译下别的,测试下看看。
离线bhwbj
只看该作者 5楼 发表于: 2009-06-03
qmake不同啊,编出来的用处也不同啊。
程序用之前要注意是谁生出来的
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线luo_dean

只看该作者 6楼 发表于: 2009-06-03
qmake不同啊,编出来的用处也不同啊。
程序用之前要注意是谁生出来的
====================================================
我自己能在PC上执行的程序的源码用qt/e的qmake编译后还是不行。
错误提示是一样的。
离线luo_dean

只看该作者 7楼 发表于: 2009-06-03
突然想到不是可能这个二进制文件的执行权限的问题?
查看了下-rwxr-xr-x
我等下改下试试。
=====================================
改了还是不行。
[ 此帖被luo_dean在2009-06-03 19:52重新编辑 ]
离线zhang_bi
只看该作者 8楼 发表于: 2009-06-04
有可能是编译内核或是文件系统所用的编译器与你编译qt/e所用的编译器不一致造成的。
离线yayayong
只看该作者 9楼 发表于: 2009-06-04
再export下QTEDIR的环境变量吧,或者在affine所在目录下readelf -h affine看下是什么machine
离线guoyun_he

只看该作者 10楼 发表于: 2009-06-05
如果你交叉编译内核和QT的编译器不一样,就会存在这种情况!建议你交叉编译的时候都采用arm-linux-gcc-3.4.3,
离线luo_dean

只看该作者 11楼 发表于: 2009-06-05
谢谢楼上各位,这两天貌似有点时间,我再好好琢磨琢磨,来争取把这个问题解决了。
离线bhwbj
只看该作者 12楼 发表于: 2009-06-12
用arm-linux-gcc编译的程序在开发板上不能运行
[ 2009-6-12 2:09:00 | By: caoerwang ]
http://blog.21ic.com/user1/5782/archives/2009/59853.html

在嵌入式Linux上执行应用程序时,出现“-/bin/sh: ./xxx: not found”,经分析,在Linux操作系统上执行应用程序时, 首先要把程序装载进内存中,完成该功能的是装载器。在PC平台上的Linux中发现,在 lib目录下存放很多库文件,其中 就有装载器对应的库文件(ld.so和ld-linux.so)、libc.so等。在我的嵌入式Linux的根文件系统的lib目录下没用库文件, 解决的方法是把交叉编译器对应的lib目录下的库文件拷贝到嵌入式Linux的根文件系统的lib目录下即可,这些库文件可以 使用交叉编译器的strip工具以减小其大小,从而减少其所占存储空间。            
如果没有库也可以使用如下命令编译(产生的可执行程序比较大)
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线violet520
只看该作者 13楼 发表于: 2009-06-13
问题解决了吗?
离线violet520
只看该作者 14楼 发表于: 2009-06-13
问题解决了吗?
快速回复
限100 字节
 
上一个 下一个