CentOS 操作系统中制作arm-linux-gcc编译工具链

1. 编译:

1.1  环境:

在台式机上安装了linux;

参考手册中的方法建立编译环境(以前用的是arm-linux-gcc3.4.1,现在是4.4.3)

Step1:将光盘目录linux\中的arm-linux-gcc-4.4.3.tgz 复制到某个目录下如tmp\,然后
进入到该目录,或者从网络上下载,地址http://www.arm9.net/download.asp。执行解压命令:
#cd /tmp
#tar xvzf arm-linux-gcc-4.4.3.tgz –C /(实际是-xvzf,少了一个‘-’,后缀不是tgz,而是tar.gz)
注意:C 后面有个空格,并且C 是大写的,它是英文单词“Change”的第一个字母,
在此是改变目录的意思。
执行该命令,将把arm-linux-gcc 安装到/usr/loca/arm/4.4.3 目录。
解压过程如图所示:

Step2:把编译器路径加入系统环境变量,运行命令
#gedit /root/.bashrc
编辑/root/.bashrc 文件,在最后一行添加:
export PATH=$PATH: /opt/FriendlyARM/toolschain/4.4.3/bin
如图,保存退出。

新的设备环境生效:

1、重新登录系统(不必重启机器,开始->logout 即可),使以上设置生效,在命令行输入
arm-linux-gcc –v,会出现如下信息,这说明交叉编译环境已经成功安装。

2、 或者在命令行输入:# source /etc/profile立即使新的环境变量生效,不用重启电脑。

1.2 遇到的问题及其修改

直接make,错误很多,都是:“*.o has EABI version 0, but target myexe has EABI version 5”,

方法:make前先执行make clean

结果:错误只有俩,但还是有,

version 'GLIBCXX3.4.9'not found(required by /usr/local / lib /l ibppl.so.2)
version 'GLIBCXX3.4.9'not found(required by /usr/local / lib /l ibppl.so.7) 方法:

1).先验证strings /tmp/libstdc++.so.6|grep GLIBCXX是否有

GLIBCXX_3.4.9,GLIBCXX_3.4.10

目前应该没有,因为该文件是连接到6.0.8,这个版本没有;

从网上下载6.0.10,放到/usr/lib/中,再次验证应该有。

2).之后删除 符号链接:rm /usr/lib/libstdc++.so.6

3)再建立符号链接ln -s /usr/lib/libstdc++.so.6.0.10 /usr/lib/libstdc++.so.6

4)make clean后,make成功。

注:第一次下载了一个错误的6.0.10,导致还有错误“arm-none-linux-gnueabi-gcc: internal error: bus error(program cc1)
please submit a full bug report”,而且不能进入图形界面!后来才发现下载的文件是错的。正确文件大小为929KB!

2. 执行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值