当前位置: 首页 > news >正文

Linux基础第四天

系统之间文件共享

想要实现两个不同的系统之间实现文件共享,最简单的一种方案就是设置VMware软件的共享文件夹,利用共享文件夹可以实现linux系统和windows系统之间的文件共享,这样就可以实现在windows系统上编辑程序,然后在linux系统下编译程序以及运行程序,尤其是当使用开发板的时候,这种方案非常好用。

点击VMware菜单栏的“虚拟机”,然后点击“设置”,点击“选项”,点击“共享文件夹”

 

设置主机路径(windows系统的路径,),设置名称(linux系统的文件夹的名称,英文)

 

然后打开Terminal终端,输入命令cd  /mnt/hgfs/ 然后按下回车,输入ls命令查看

可以看到share文件夹就是设置好的共享文件夹的名称,切换到该目录即可实现共享。

交叉编译工具安装

交叉编译器就是在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码。由于开发板的硬件平台是ARM,但是开发板并不具备编译程序的能力,所以需要在计算机中的linux系统对程序进行编译。

但是计算机的硬件平台是X86_64,所以并不能使用gcc编译器生成在ARM平台运行的可执行程序,所以就需要在计算机的linux系统中安装交叉编译工具,这样就可以在计算机的linux系统中交叉编译源程序并生成可以在ARM平台运行的可执行文件。


链接: https://pan.baidu.com/s/1IS7UzGABw7fLxGLct5EcWg 提取码: 47ms

把交叉编译工具的压缩包拷贝到设置好的共享文件夹,并从共享文件夹拷贝到家目录!

注意不可以在共享文件夹中对该压缩包进行解压,因为共享文件夹是挂载到linux系统,不属于linux系统。

对压缩包进行解压,输入命令:xz   --decompress  arm-linux-gnueabi-5.4.0.tar.xz 如下:

 

利用超级用户的权限对归档文件进行释放,并且直接释放到家目录下,操作如下所示:

解压成功后可以看到在/home/xxx目录下就多了一个usr文件夹,此时要配置环境变量

gec@ubuntu:~$ cd   /home/gec/usr/local/arm/5.4.0/usr/bin     //gec是用户名,需要修改!

gec@ubuntu:~$ echo "export PATH=/home/gec/usr/local/arm/5.4.0/usr/bin:$PATH"  >>  ~/.bashrc

gec@ubuntu:~$ source ~/.bashrc                               //让配置文件立即生效

配置好环境变量之后,测试交叉编译工具是否正常,可以输入命令arm-linux-gcc -v查看

如果可以查看交叉编译工具的版本,则编写一个源文件,利用交叉编译工具进行编译:

注意如果利用交叉编译命令arm-linux-gcc对源文件进行编译时遇到以下错误情况,如下图

/usr/local/arm/5.4.0/usr/bin/../libexec/gcc/arm-none-linux-gnueabi/5.4.0/cc1: error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory

原因是加载共享库时出错:libmpfr.so.4:无法打开共享对象文件:没有这样的文件或目录

执行以下代码即可:

sudo  ln  -s  /usr/lib/x86_64-linux-gnu/libmpfr.so.6  /usr/lib/x86_64-linux-gnu/libmpfr.so.4

可以看到,使用不同的编译器可以对同一个源文件进行编译,只不过生成的可执行文件的执行平台不同,可执行文件hello_arm只能在ARM平台运行(开发板),可执行文件hello_x86只能在X86平台运行(计算机)。

 

相关文章:

  • fastadmin 数据导出,设置excel行高和限制图片大小
  • 在Excel中使用函数公式时,常见错误对应不同的典型问题
  • Python学习笔记--使用Django操作mysql
  • 一键启动多个 Chrome 实例并自动清理的 Bash 脚本分享!
  • AWS EKS IP 耗尽:原因、解决方案和最佳实践
  • 【AWS入门】AWS身份验证和访问管理(IAM)
  • 【Windows系统】向量数据库Milvus安装教程
  • Win10 安装单机版ES(elasticsearch),整合IK分词器和安装Kibana
  • 鸿蒙PC操作系统:从Linux到自研微内核的蜕变
  • 手机内存不够,哪些文件可以删?
  • 小红书的视频怎么保存没有水印(方法分享)
  • linux——mysql故障排查与生产环境优化
  • Python打卡DAY30
  • MySQL函数触发:函数处理与触发器自动化应用
  • Node 服务监控及通过钉钉推送告警提醒
  • 实战教程:影刀RPA采集闲鱼商品并分享钉钉
  • Linux内核深入学习(4)——内核常见的数据结构2——红黑树
  • 深入解析Spring Boot与Kafka集成:构建高效消息驱动微服务
  • 常见排序算法整理(Java实现)
  • 开发 前端搭建npm v11.4.0 is known not to run on Node.js v14.18.1.
  • 5月LPR下调:1年期、5年期以上品种均下调10个基点
  • 山西晋城一网红徒步野游线路据传发生驴友坠崖,当地已宣布封路
  • 多所院校高规格召开考研动员会,有学院考研报名率达84%
  • 以开放促发展,以发展促开放,浙江加快建设高能级开放强省
  • 从良渚到三星堆:一江水串起了5000年的文明对话
  • 乌称苏梅州一公共汽车遭俄军袭击,致9死4伤