交叉编译器的安裝以及使用 (Linaro 交叉编译器 基于Ubuntu16)

在 Linux 下进行 C 程序开发, 我们使用的 gcc 编译器进行代码的编译, 编译完,直接在 X86 架构下的 PC 下运行的。 而 arm 架构的, 所以我们需要使用支持 arm 的编译器并且该编译器在 X86 架构下运行, 这个编译器我们通常称为交叉编译器。

  1. 總之,交叉編譯器就是:

    1. 是一個 gcc 編譯器
    2. 這個 gcc 編譯器在 X86 架構 PC 上運行的
    3. 這個 gcc 編譯器是編譯 ARM 架構代碼的,也就是編譯出來的代碼是在 ARM 架構的芯片上運行的
    4. 交叉之意就是在一個架構上去編譯另一個架構的代碼,相當於這兩個架構交叉起來了。
  2. 安裝
    PS : 在進行以下操作之前須知:交叉式編譯器安裝包

下载地址为:http://releases.linaro.org/,注意区分32位与64位,由于我们是64位系统,所以这里我们下载64位的:
64位下载地址:http://releases.linaro.org/components/toolchain/binaries/6.1-2016.08/arm-linux-gnueabi/gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-gnueabi.tar.xz

32位下载地址:http://releases.linaro.org/components/toolchain/binaries/6.1-2016.08/arm-linux-gnueabi/gcc-linaro-6.1.1-2016.08-i686_arm-linux-gnueabi.tar.xz
(gcc-linaro-6.1.1-2016.08-i686_arm-linux-gnueabi.tar.xz)

	1. 下载完成后找到相应目录,解压
	./arm$ sudo tar -vxf gcc-linaro-6.1.1-2016.08-i686_arm-linux-gnueabi.tar.xz
	
	2.查看
	./arm$ ls
	gcc-linaro-6.1.1-2016.08-i686_arm-linux-gnueabi
	gcc-linaro-6.1.1-2016.08-i686_arm-linux-gnueabi.tar.xz
	
	3. 添加环境
	$ sudo vi /etc/profile

	在打開的文件最後添加上 :
		export PATH=$PATH:/usr/local/arm/gcc-linaro-6.1.1-2016.08-i686_arm-linux-gnueabi/bin
	
	4.重啓 Ubuntu
	$sudo reboot

	5. 檢查安裝是否成功 ,由以下类似信息即为成功。 
    ~$ arm-linux-gnueabi-gcc -v
	...
	Thread model: posix
	gcc version 6.1.1 20160711 (Linaro GCC 6.1-2016.08)







	6.  以下操作无关紧要
	~$ sudo apt-get install libc6:i386

	PS : 32 位 安裝 lib32stdc++6  而 64 位:sudo apt-get install lib32stdc++6

	7. ~/SD$ vi test.c
	
	PS : 寫入:

		# include <stdio.h>
		 
		int main()
		{   
		    printf("hello world!\n");
		    return 0;
		}

	8. ~/SD$ arm-linux-gnueabi-gcc test.c -o test

	PS : 使用交叉編譯器編譯 test.c
 
	9. ~/SD$ ls
	    sd  sd.c  test  test.c
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值