ubuntu搭建mini2440交叉编译环境

ubuntu:16.04   

Linux ubuntu 4.15.0-45-generic #48~16.04.1-Ubuntu SMP Tue Jan 29 18:03:48 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

arm-linux-gcc:4.4.3

1、下载交叉编译工具包,通过tar xzvf arm-linux-gcc-4.4.3.tar.gz解压,解压完目录如下:


2、配置环境变量:


3、执行arm-linux-gcc -v,检查检查编译工具是否安装成功


4、编写简单的程序进行测试。

arm-linux-gcc hello.c -o hello,结果成功生成hello可执行文件。

#include <stdio.h>

int main(void)

{

    printf("hello,this is arm\n");

}    


5、验证执行

通过ftp将生成可执行文件放到mini2440的板子上,测试执行。



安装时遇到的问题

1、在进行arm-linux-gcc -v 测试时,报错

[root@ubuntu bin]#arm-linux-gcc -v

/home/zjg/Desktop/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: /home/zjg/Desktop/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found

原因:

ubuntu的环境位64位系统,arm-linux-gcc为32位系统。在64位Linux系统下无法兼容32位交叉编译器。

解决方法:

下载一些32位的库文件。

sudo apt-get install libc6-i386


2、执行apt-get install libc6-i386时,遇到依赖问题。

错误原因:我们需要2.19版本的libc6,但是当前下载的libc6版本为2.23版本,不匹配。


解决方法:

在/etc/apt/sources.list添加合适的源,有的源会不合适。

deb http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

deb http://ftp.cn.debian.org/debian sid main // 添加的源

通过上面的方法,arm-linux-gcc -v可以正常执行。

3、在编译hello.c文件时报错,说缺少某些库

缺少libstdc++.so.6

解决方法:sudo apt-get install lib32stdc6   //一定要下载32位的  (库文件对应的包一般为去掉so,然后加数字)。

缺少libz.so.1库

解决方法:sudo apt-get install lib32z1  //一定要下载32位的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • sudo apt-get update #更新源 sudo apt-get upgrade #安装源 sudo g...
    唐古拉老山羊阅读 10,761评论 3 8
  • Hadoop分布式集群搭建流程记录 软件环境 Hadoop版本:hadoop-2.7.2.tar.gz JAVA版...
    CaptainXero阅读 5,632评论 1 3
  • 安装好ubuntu双系统后,默认的软件更新源是国外的,在国内使用速度很慢,需要更换成国内的源,这样才能正常安装和更...
    AI秘籍阅读 137,051评论 3 9
  • Ubuntu系统自带的源都是国外的网址,国内用户在使用的时候网速比较慢。一个软件的下载是十分痛苦的,这里讲解一下如...
    TechManZhang阅读 10,442评论 0 5
  • 1:经过多次安装偶现两三次vi 命令不看用,建议先卸载vi安装vim卸载tiny 版本 sudo apt-get ...
    collincp阅读 3,914评论 0 2