OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3715|回复: 1

arm-linux-gcc 编译ARM裸机汇编程序失败,解决方法

[复制链接]

5

主题

7

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2016-2-15
在线时间
8 小时
发表于 2016-4-6 18:30:23 | 显示全部楼层 |阅读模式
1、首先需要安装arm-linux-gcc,我安装的是arm-linux-gcc-4.3.2(1)、window下下载arm-linux-gcc-4.3.2  ( http://pan.baidu.com/s/1eSnWKHc 下载地址),通过samba(samba配置百度有教程)传到虚拟机的linux下。建议将安装包移动到 / (根目录下)(如果以及安装但是有问题需要重新安装,需要删除旧版本 rm -rf /opt/arm)
(2)、将arm-linux-gcc-4.3.2.tgz解压  命令:tar xvzf arm-linux-gcc-4.3.2.tgz -C /
(3)、3.执行命令:vi/etc/profile 在path murge的语句断后添加 pathmunge /usr/local/arm/4.3.2/bin  
            命令: pathmurge/usr/local/arm/4.3.2/bin
           修改:# Path manipulation
                      if [ "$EUID" = "0" ]; then
                      pathmunge /sbin
                      pathmunge /usr/sbin
                      pathmunge /usr/local/sbin
                      pathmunge /usr/local/arm/4.3.2/bin (添加此行)
                      fi  (4)、执行:# source /etc/profile
(5)、进入/usr/local/arm/4.3.2/bin目录,查看是否有该目录生成
          命令 :cd /usr/local/arm/4.3.2/bin
(6)、将目录/usr/local/arm/4.3.2/bin添加到环境变量PATH中
            修改/root/.bashrc
            命令: #vi /root/.bashrc
             修改下面
             # .bashrc
             # User specific aliases and functions
             alias rm='rm -i'
             alias cp='cp -i'
             alias mv='mv -i'
             # Source global definitions
             if [ -f /etc/bashrc ]; then
             . /etc/bashrc
             fi
             export PATH=$PATH:/usr/local/arm/4.3.2/bin
     (7).先关闭终端再打开终端
         命令:arm-
         多按几下Table键
          出现如下界面则成功
[root@localhost hugh]# arm-
arm-linux-addr2line arm-none-linux-gnueabi-addr2line
arm-linux-ar arm-none-linux-gnueabi-ar
arm-linux-as arm-none-linux-gnueabi-as
arm-linux-c++ arm-none-linux-gnueabi-c++
arm-linux-c++filt arm-none-linux-gnueabi-c++filt
arm-linux-cpp arm-none-linux-gnueabi-cpp
arm-linux-g++ arm-none-linux-gnueabi-g++
arm-linux-gcc arm-none-linux-gnueabi-gcc
arm-linux-gcc-4.3.2 arm-none-linux-gnueabi-gcc-4.3.2
arm-linux-gcov arm-none-linux-gnueabi-gcov
arm-linux-gdb arm-none-linux-gnueabi-gdb        


(8)、安装完成后重新启动虚拟机
此时已经安装完成,但是编译汇编程序时,提示出错  GLIBCXX_3.4.9' not found
1、于是执行命令     strings  /usr/lib/libstdc++.so.6  |  grep GLIBC
返回结果GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBC_2.0
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.4
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
没有GLIBCXX_3.4.9
2、执行  ls -l  /usr/lib/libstdc++.so.6
发现/usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.8
上网查找资料后发现这里需要使用libstdc++.so.6.0.10
下载这个文件后,然后删除软链接/usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.8,
   命令 :rm -f /usr/lib/libstdc++.so.6
重新做    命令  ln -s /usr/lib/libstdc++.so.6.0.10  /usr/lib/libstdc++.so.6即可

此时编译汇编文件即可通过。。



Red Hat Enterprise Linux 5-2016-04-06-18-28-41.png

Red Hat Enterprise Linux 5-2016-04-06-18-29-53.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

12

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2017-5-18
在线时间
0 小时
发表于 2017-5-18 09:08:29 | 显示全部楼层
谢谢分享,学习学习。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-24 06:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表