手机版
你好,游客 登录 注册
背景:
阅读新闻

Ubuntu7.04下arm交叉编译

[日期:2008-01-02] 来源:Linux公社  作者:Linux [字体: ]

环境:Ubuntu 7.04
FriendlyArm SBC2410
qt-embedded-2.3.7 qt-x11-2.3.2 qtopia-free-1.7.0 tmake-1.11


使qtopia和qte在我的机子上顺利地跑并解决相关的冲突问题用了4天,谨以此文作为总结。
//注意编译器版本要与相应的qtopia版本对应
//注意相关的库要齐全,否则装qtopia报错
//!!!!注意不要随便修改启动脚本文件~/ .bashrc和 /etc/ld.so.conf,环境变量的的设置自己写一个脚本(shell)文件
//注意tmake后要自己修改一下Makefile

一。安装qtopia和qte
按照SBC2410嵌入式Linux开勑指南.pdf的做法去弄,一直没有成功过,最后发现这里面有错误,而且只是针对Ret Hat,对与ubuntu要特别处理。
发现不同的版本对于编译器(gcc,g++)是有要求的,一般编译过程中遇到奇怪的报错和Warning是因为编译器版本太高的缘故。
//解决办法
安装gcc-2.95 和g++-2.95
由于原来就有gcc,所以我是这样做的
cd /usr/bin
sudo cp ./gcc ./gcc_backup
sudo cp ./g++ ./g++_backup //先把原来的版本4.x保存起来
sudo cp ./gcc-2.95 ./gcc
sudo cp ./g++-2.95 ./g++ //把默认的编译器改为 2.95

//结果:Warming少了,但是还是一直有同样的错误
make -C libraries/qtopia
make[1]: Entering directory `/opt/FriendlyARM/SBC2410/x86-qtopia/qtopia/src/libraries/qtopia'
/opt/FriendlyARM/SBC2410/x86-qtopia/qt/bin/uic passwordbase_p.ui -o ./passwordbase_p.h
make[1]: /opt/FriendlyARM/SBC2410/x86-qtopia/qt/bin/uic:命令未找到
make[1]: *** [passwordbase_p.h] 错误 127
make[1]: Leaving directory `/opt/FriendlyARM/SBC2410/x86-qtopia/qtopia/src/libraries/qtopia'
make: *** [libraries/qtopia] 错误 2
//关键make[1]: /opt/FriendlyARM/SBC2410/x86-qtopia/qt/bin/uic:命令未找到

//解决办法
google /bin/uic:命令未找到
发现是因为缺少库的问题
xlibs-dev libfreetype6-dev uuid-dev lib.jpeg62-dev libqt3-mt libpam0g-dev libpng12-dev
libbluetooth1-dev libpcsclite-dev pkg-config jpeg-6b
Ubuntu就有这个特点,可定制,所以很多库原来没有安装,不像FC那样全都装了

//结果
uic终于装上了,以后安装一切顺利。

二。运行qtopia
//问题
运行时正常,但不正常退出会造成很多其他软件用不了,重启,进不了X
开始上网问都不知道什么原因,造成重装系统,最后在irc上知道可以不用重装系统,重装xserver-xorg就行了
进入recovery 模式
把/etc/ld.so.conf加上去的那几句删了!!!
apt-get remove xserver-xorg
apt-get remove nvidia-glx
apt-get install xserver-xorg
apt-get install nvidia-glx
重启,可以进X了。
最后发现原因:是由于/etc/ld.so.conf 加上去的几句造成冲突
//解决办法
自己写一个shell脚本,运行qtopia时先执行这个shell脚本
vi $HOME/shell/qt.sh
export LD_LIBRARY_PATH=/opt/FriendlyARM/SBC2410/x86-qtopia/qt/lib:/opt/FriendlyARM/SBC2410/
x86-qtopia/qtopia/lib:
/usr/X11R6/lib:/usr/lib/sane:/usr/lib/mysql:$LD_LIBRARY_PATH

它的功能跟 . set_env一样,设置环境变量,只不过qt.sh 是设置动态链接库。
//结果:
qtopia很稳定地运行在我的机子上

linux
相关资讯       ubuntu编译  arm 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款