首页| 论坛| 消息

标题:QT静态编译疑问
作者:5xinfeiyang
日期:2011-11-25 21:06
内容:

最近在学习QT,已经在Ubuntu中安装好了qt-embedded-linux-opensource-src-4.5.3(配置时加了-static选项)也安装了arm-linux-gcc-3.4.1和qt-x11-opensource-src-4.5.3。我用了一个简单的Hello world程序做测试,在Ubuntu中成功了,后交叉编译,执行/usr/local/Trolltech/qte/bin/qmake -project和/usr/local/Trolltech/qte/bin/qmake 最后make生成可执行文件,将可执行拷贝到开发板中执行./hello -qws提示我-sh: ./hello: not found。这个是什么原因呀?是参数没有设置吗?附:我希望静态编译后的可执行程序可以脱离库,直接将可执行程序拷贝到开发板中执行看到最终效果,请问这个想法可行吗?


#1 回 楼主(5xinfeiyang) 的帖子 [wxj120bw 11-25 22:38]
ls -l hello 看这个文件在当前用户下有执行权限吗
#2 [5xinfeiyang 11-26 09:22]
我试了一下,在Ubuntu中先sudo chmod 777 hello了,用ls -l hello 查看是-rwxrwxrwx 1 root root 12972001 2011-11-25 20:04 hello
拷贝到开发板中我先# ls -l hello查看了一下显示-rwxr-xr-x1 root root 12972001 Aug 30 07:19 hello,执行 ./hello -qws时还是提示-sh: ./hello: not found。难道还是却好库文件?我编译完的hello可执行文件是13M左右了
#3 回 2楼(5xinfeiyang) 的帖子 [wxj120bw 11-26 11:38]
换成绝对路径看看
#4 [5xinfeiyang 11-26 11:44]
额,不好意思,能麻烦您说的再详细点吗?还有我在网上搜这个问题时。好多人都说不可行,必须要移植库文件到arm开发板上,是这样吗?
#5 [ppdayz 11-26 14:00]
完全不对的~
你只是静态编译了X86的,你的程序hello里面都是x86的。
要想能在arm里跑,感觉用静态编译的比较麻烦
主要是你的x86的版本要在你的机器上把x86的qt库编进去
arm的版本要把你的机器上的arm的qt库编进去
这样会很麻烦。。。很麻烦

<< 1 2 3 >> (1/4)

回复 发表
主题 版块