zoukankan      html  css  js  c++  java
  • 【转】64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解

    64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解,开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛。 

    安装步骤

    1、准备工具安装目录

    下载 arm-linux-gcc 4.4.3 
    下载链接 http://www.linuxidc.com/Linux/2011-05/35906.htm

    将压缩包arm-Linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是/home/aldrich/arm,如下图,记住这个路径,等会还会用到。

     

    1. .tar.gz 和.tgz
    2. 解压:tar zxvf FileName.tar.gz
    3. 压缩:tar zcvf FileName.tar.gz DirName

    2、安装软件

    使用tar命令:tar zxvf arm-linux-gcc-4.3.2.tgz将software文件夹下的arm-linux-gcc-4.3.2.tgz解压缩安装到当前目录。通过下图可以看到解压成功了,并且解压后的文件存放在了

    1. /home/aldrich/arm/arm-linux-gcc-4.3.2

    文件夹下,如下图所示,这个存放路径可得记住,如下图

     

    3、配置系统环境变量

    配置环境前先坐下普及:

    Ubuntu不同目录下profile与bashrc的区别

    /etc/profile  此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。

    /etc/bash.bashrc  为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。

    ~/.bash_profile  每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次,默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

    ~/.bashrc  该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。

    ~/.bash_logout  当每次退出系统(退出bash shell)时,执行该文件。

    另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。

    ~/.bash_profile  是交互式、login 方式进入 bash 运行的。

    ~/.bashrc  是交互式 non-login 方式进入 bash 运行的。

    通常二者设置大致相同,所以通常前者会调用后者。

    接下来配置系统环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:vim  /home/aldrich/.bashrc 编辑.bashrc文件,添加环境变量。

    在该文件中最后一行添加:

    1. export PATH=$PATH:/home/aldrich/arm/arm-linux-gcc-4.3.2/bin

    这个路径就是那个bin目录所在的路径,可能你的不一样,按照你实际的目录填就可以了,如下图

     

    编写完保存就好了

    4、使环境变量生效

    使用命令:source  /home/aldrich/.bashrc 使环境变量生效

    5、检查环境变量是否设置成功

    在终端上输入命令 arm-linux 再按Tab键,可以看到下图,说明环境变量设置成功了

     

    6、安装32位库兼容包

    输入命令后,出现下面的错误提示信息:

    1. /home/aldrich/arm/arm-linux-gcc-4.3.2/bin/arm-linux-gcc:
    2. line 3:
    3. /home/aldrich/arm/arm-linux-gcc-4.3.2/bin/arm-none-linux-gnueabi-gcc:No such file or directory

     

    说是出现这种问题的原因是由于Ubuntu16.04用的是64位的,按以前的解决方法就是使用命令:

    sudo apt-get install ia32-libs 装一些32位的库

     

    出现上述界面是因为Ubuntu16.04版本已不支持ia32-libs的软件包,而是使用了lib32ncurses5、lib32z1软件包做为替代,所以在Ubuntu16.04版本当中应该安装执行:

    1. sudo apt-get install lib32ncurses5 lib32z1

    待安装完32位的库之后,再使用命令:arm-linux-gcc -v,这一次就成功了,如下图

     

    8、交叉编译工具验证

    编译一个hello.c文件

    1. #include<stdio.h>
    2. int main()
    3. {
    4.     printf("hello world! ");
    5. }

    使用命令:arm-linux-gcc hello.c -o hello 看是否编译成功

     

    可见成功生成了二进制文件,至此,交叉编译工具就配置完成了。

    Ubuntu 16.04上安装arm-linux-gcc-4.4.3 http://www.linuxidc.com/Linux/2016-07/133746.htm

    本文永久更新链接地址http://www.linuxidc.com/Linux/2016-12/138771.htm

    原文

  • 相关阅读:
    CSS書寫規範及CSS Hack
    C#中为什么不能再方法里定义静态变量(Static)
    本机操作Excel文件提示错误:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。
    C#中静态变量和 静态方法的作用
    C#静态构造函数和非静态构造函数
    C# 判断字符串为空的4种方法及效率
    ASP.NET反射
    C#排序1(冒泡排序、直接排序、快速排序)
    javascript、jquery 、C#、sqlserveer、mysql、oracle中字符串截取的区别和用法
    MySQL数据库不识别server=.而是识别localhost
  • 原文地址:https://www.cnblogs.com/skullboyer/p/8900040.html
Copyright © 2011-2022 走看看