温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

arm-linux-gcc交叉编译器安装是怎样的

发布时间:2021-10-22 10:37:53 来源:亿速云 阅读:104 作者:柒染 栏目:互联网科技

arm-linux-gcc交叉编译器安装是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

在网上下载arm-linux-gcc-4.4.3.tar.gz。

1、解压#tar -zxvf arm-linux-gcc-4.4.3.tar.gz

2、打开解压目录,将FriendlyARM文件夹拷贝到文件夹usr/local/。

cd /usr/local/

cp -rv FriendlyARM /usr/local/

(交叉编译程序集都在/usr/local/arm/4.4.3/bin)

3、修改环境变量,将交叉编译器的路径加入到PATH。

方法一(未测过):修改/etc/bash.bashrc文件
                 #vi /etc/bash.bashrc
                 在最后加上:
                export PATH=$PATH:/usr/local/FriendlyARM/toolschain/4.4.3/bin
                export PATH
方法二(测试,无用):修改/etc/profile文件:
                # vi /etc/profile
               增加路径设置,在末尾添加如下,保存/etc/profile文件:
               export PATH=$PATH:/usr/local/FriendlyARM/toolschain/4.4.3/bin

方法三:#export PATH=$PATH:/usr/local/FriendlyARM/toolschain/4.4.3/bin

其实,直接采用方法三即可。

4、立即使新的环境变量生效。     

      对应方法一(未测过):#source /root/.bashrc
    对应方法二(未测过):# source /etc/profile
5、检查是否将路径加入到PATH:
      # echo $PATH
  显示的内容中有/usr/local/FriendlyARM/toolschain/4.4.3/bin,说明已经将交叉编译器的路径加入PATH。

6、测试是否安装成功
   # arm-linux-gcc -v
  显示arm-linux-gcc信息和版本。arm-linux-gcc成功安装。

7、小试牛刀。

  vi下编写hello.c程序。

int main(){

      printf("hello!\n");

      return 0;

}

#arm-linux-gcc hello.c -o hello (与gcc hello.c -o hello使用方法一样)。

有如下错误:

/usr/local/FriendlyARM/toolschain/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/FriendlyARM/toolschain/4.4.3/lib/libppl_c.so.2)
/usr/local/FriendlyARM/toolschain/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/FriendlyARM/toolschain/4.4.3/lib/libppl.so.7)

原因:strings /usr/lib/libstdc++.so.6 | grep GLIBC,返回结果没有GLIBCXX_3.4.9,接着输入ls -l /usr/lib/libstdc++.so.6 ,结果为:

lrwxrwxrwx 1 root root 18 02-13 19:06 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8

         libstdc++.so.6是个软链接,它链接到libstdc++.so.6.0.8。而libstdc++.so.6.0.8,没有`GLIBCXX_3.4.9'。版本过低。

解决办法:

      一、网上下载libstdc++.so.6.0.10。放到/urs/lib目录下。

      二、删除libstdc++.so.6。rm -rf /usr/lib/libstdc++.so.6。

      三、重做libstdc++.so.6。软链接,ln -s /usr/lib/libstdc++.so.6.0.10 /usr/lib/libstdc++.so.6.

      然后,重新输入#arm-linux-gcc hello.c -o hello。可以看到编译成功。运行#hello,"cannot execute binary file".

      arm-linux-gcc编译的文件只能在arm开发板上运行,所以此处提示正确。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI