Ubuntu7.04下arm交叉编译

环境: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很稳定地运行在我的机子上

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzwwwy.html