千家信息网

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

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,arm-linux-gcc交叉编译器安装是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在网上下载arm-linu
千家信息网最后更新 2025年12月01日arm-linux-gcc交叉编译器安装是怎样的

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开发板上运行,所以此处提示正确。

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

方法 编译 文件 交叉 路径 编译器 成功 链接 内容 变量 文件夹 版本 环境 目录 程序 结果 帮助 测试 输入 运行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 弹性云服务器搭建免流 在网上怎么建服务器 武汉软件开发去那个网站找 网络安全未来就业规划 某数据库有三个写进程 靠谱的仓库管理软件开发企业 软件开发调查问卷模板 岗位培训软件开发方案 只狼登录服务器卡住 平谷二手服务器回收价目表 oracle数据库基表 徐州专业进销存软件开发 数据库抽象的三级结构 内江网络技术哪家好 网络正常但是连接服务器失败 新手都会的服务器挖金矿区指令 已存在的数据库实例无法卸载 网络安全监测装置安装新闻稿 mysql数据库能用多少条 小公司php软件开发进阶 重庆邮电大学数据库教材 数据库发给别人要怎么打开 顺义区综合网络技术服务口碑推荐 云端互联网络科技山东潍坊 远端服务器没 黑魂3服务器贴吧 新时代网络安全事件 广西智慧医养软件开发哪儿好 为什么做软件开发工资那么高 路由器首选dnd服务器
0