配置Ubuntu交叉编译环境-程序员宅基地

技术标签: ubuntu  

Ubuntu搭建交叉编译环境以及相关问题解决

1.交叉编译器安装资源

考虑到大多数人使用的是64位Ubuntu,以及能够更好运行,我在此提供了62位的arm-linux-gcc交叉编译器。(如果你的Linux系统是64位的,但安装32位的交叉编译器,还需要额外安装32位的运行库。)

我在此提供的是:arm-2009q3.tar.bz2,附上百度网盘下载链接:

链接:https://pan.baidu.com/s/1z_jKxXyLftHfszvaYH-SoA
提取码:yccy

2.安装步骤以及问题解决

在主机上下载好安装包后,将安装包直接拖进Ubuntu,前提是已经安装好VMwareTools。如果遇到文件在复制过程中一直卡住的问题,直接在任务管理器中结束该进程,然后直接重启电脑,说明在复制超过几十M的文件时会失败,此时需要另寻他法。(如果不重启电脑,就直接再一次启动虚拟机,会遇到不能与Ubuntu连接的问题,此时重启电脑是最快的解决方法。)

2.1复制失败解决方法

方法1.设置共享文件夹

如图中步骤设置共享文件夹:

在这里插入图片描述

然后在主机里面将安装包资源拖进共享文件夹。

方法2.与主机共享ip地址

先快捷键Win+R,输入cmd,打开命令行窗口,输入ipconfig,找到ipv4地址,将地址记录下来。

在这里插入图片描述

在Ubuntu中,进行如下图中顺序打开:

在这里插入图片描述

点击连接后,会提示输入密码,此密码即为电脑的锁屏密码,输入即可。

在这里插入图片描述

这就实现Ubuntu与主机的连接,可以直接查看主机文件内容,找到共享文件夹,将之前下载好的安装包拖进Ubuntu的桌面。

在这里插入图片描述

2.2安装步骤

如果没有遇到直接复制失败的问题或者采用方法2解决问题,可以进行如下步骤安装:

1.在桌面打开Terminal (快捷键 ctrl+alt+t)

2.输入 ls, 并输入 cd 桌面/

3.在 桌面 目录下输入ls后,选中安装包右键,选择复制

4.输入 sudo chmod 777 arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2 ,其中包名为右键->粘贴,赋予其全部权限。

5.输入 tar -jxvf arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2 ,解压

在这里插入图片描述

6.解压之后,再进行如下命令,创建新目录 arm

sudo mkdir /usr/local/arm

创建成功后,赋予其全部权限,输入以下命令:

sudo chmod 777 /usr/local/arm

在这里插入图片描述

7.然后重新打开命令窗口,进行如下命令,进入到解压缩文件,直至找到 gcc-4.6.4

在这里插入图片描述

7.将 gcc-4.6.4 复制到 /usr/local/arm目录下

在这里插入图片描述

8.设置 PATH环境变量

sudo gedit /etc/profile

9.在文件最后添加两行,输入以下代码:

export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib

第一行是添加执行程序环境变量,第二行是库文件的路径。保存退出。

在这里插入图片描述

10.使用source命令重新加载生效配置文件:

source /etc/profile

11.查看当前arm-linux-gcc版本(检查是否安装成功)

arm-none-linux-gnueabi-gcc   -v

在这里插入图片描述

出现如上图所示,即安装成功。

采用方法一解决问题,除了是进入到 /mnt/hgfs/你的共享文件夹名 目录下,将安装包资源解压后,复制到usr/local/arm文件夹这个步骤不一样外,其他均一致。

在这里插入图片描述

3.程序编译以及下载

重新打开终端

1.创建/mnt/nfs目录,回车后需要输入管理员密码

sudo  mkdir /mnt/nfs

2.修改/mnt/nfs的访问权限:

sudo  chmod -R 777 /mnt/nfs

3.创建hello文件夹并进入hello文件:

mkdir hello

4.使用Gedit软件编辑hello.c程序

gedit  hello.c

5.输入源代码:

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

6.在ubuntu shell终端先进入hello程序目录:

cd   /mnt/nfs/hello

7.输入编译链接命令:

gcc  hello.c  -o  hello

此时可能会有提示命令安装gcc编译器,按照提示输入命令sudo apt install gcc
,等待下载安装完成即可。

8.运行执行文件:

./hello

在这里插入图片描述

到此就成功配置好ubuntu交叉编译环境了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45050714/article/details/115253885

智能推荐

解决Windows cmd里git log 中文乱码的问题_cmd git log 中文乱码-程序员宅基地

文章浏览阅读2.2k次,点赞3次,收藏7次。解决Windows cmd里git log 中文乱码的问题在当前cmd里输入set LESSCHARSET=utf-8设置环境变量,变量名: LESSCHARSET ,变量值: utf-8_cmd git log 中文乱码

Extjs多个tab页面——panel层叠_extjs写一个panel,多个ta-程序员宅基地

文章浏览阅读4.8k次。Extjs多个tab页面——panel层叠_extjs写一个panel,多个ta

搭建流媒体推流/拉流服务(RTMP/RTSP/HLS/HTTP-FLV)_rtmp拉流地址-程序员宅基地

文章浏览阅读1.9w次,点赞21次,收藏110次。搭建流媒体服务,将rtsp或者rtmp视频流转换为H5可以直接播放的视频。用在直播、安防监控、视频点播、屏幕画面转播等_rtmp拉流地址

【天梯赛】L2-010. 排座位(并查集)_hive排座位-程序员宅基地

文章浏览阅读292次。布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(&amp;lt;= 100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:“宾客..._hive排座位

java中nextToken,Java StringTokenizer nextToken()用法及代碼示例-程序员宅基地

文章浏览阅读1.5k次。StringTokenizer類的nextToken()方法用於從此StringTokenizer依次返回下一個標記。用法:public String nextToken()參數:該方法不帶任何參數。返回值:該方法返回字符串令牌化程序行中存在的下一個令牌。下麵的程序說明StringTokenizer的nextToken()方法的用法:示例1:// Java code to illustrate n..._next token的用法

如何自动校正系统时间_timesync 自动-程序员宅基地

文章浏览阅读268次。网上一些校正系统时间的方法,大多需要手动操作,有没有什么工具可以自动完成相关的操作呢? 可以试试NetTime工具(http://www.timesynctool.com/).安装该工具时会创建一个自启动服务,以后每次启动系统,它都会随之启动并自动校正系统时间。_timesync 自动

随便推点

数据库中表和视图的关系-程序员宅基地

文章浏览阅读868次。联系: 视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。区别:1、视图是已经编译好的sql语句。而表不是 2、视图没有实际的物理记录。而表有。 3、表是内容,视图是窗口 4、表只用物理空间而视图不占用物理空间,视图只是逻辑概..._统计和数据库视图有什么关系

ZZULIOJ1061: 顺序输出各位数字_zznuoj1061顺序输出各位数字-程序员宅基地

文章浏览阅读614次。【代码】ZZULIOJ1061: 顺序输出各位数字。_zznuoj1061顺序输出各位数字

maven打包错误: Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources on-程序员宅基地

文章浏览阅读601次。问题截图:解决方案:在pom.xml文件中添加: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.4.3</version> _failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.3.0

ArduPilot开源飞控之do_failsafe_action_开源飞控解锁-程序员宅基地

文章浏览阅读310次。之前在[ArduPilot飞控之FAILSAFE机制](https://blog.csdn.net/lida2003/article/details/132191018)中,针对Ardupilot的`FAILSAFE`机制进行了相对完整的介绍。本章节将从代码的角度来看`FAILSAFE`代码触发入口,以及对应的应对策略。_开源飞控解锁

运维工作反思总结_运维工作汇报不足-程序员宅基地

文章浏览阅读3.3k次。软件项目的生命周期分为六个阶段:项目前期、项目启动、项目蓝图、项目实施、项目验收、项目运维。其中项目运维是项目中的重要环节。针对本次客户反馈工作进行反思总结。_运维工作汇报不足

Linux系统中的日志服务管理_linux系统日志服务-程序员宅基地

文章浏览阅读1.1k次。目录1.日志介绍1.1 什么是日志1.2 Linux系统使用的两种系统日志服务1.3 ELK2.rsyslog的管理2.1 系统日志术语1.2 实验1.日志介绍1.1 什么是日志网络设备、系统及服务程序等,在运作时都会产生一个叫log的事件记录;每一行日志都记载着日期、时间、使用者及动作等相关操作的描述日志记录的内容包括: 历史事件:时间,地点,人物,事件 日志级别:事件的关键性程度,Loglevel 1.2 Linux系统使用的两种系统日_linux系统日志服务

推荐文章

热门文章

相关标签