问题:

1、“交叉编译工具链肯定有个安装目录的”是说在Ubuntu上装有多个不同版本的arm-linux-gcc编译器,还是说一个版本的交叉编译器安装时会生成多个安装目录?还是皆而有之?
2、怎么查看我的Ubuntu上已经安装的交叉编译器(arm-linux-gcc)?
3、如何在makefile中指定编译用的编译器?我给你一个makefile,你可以告诉我如何在makefile中指定吗?
4、工具链的路径加到 $PATH中,$(PATH) 中可以加多个不同交叉编译器的路径吗?如果在 $(PATH)中指定多个 交叉编译器的路径,那么如果在编译时makefile中没有指定交叉编译器的路径,这时会怎样选择交叉编译器?如果在makefile中已经指定了交叉编译器了,是不是会忽略$PATH中的交叉编译器?

回答:

你的Makefile中的下面两行就是在指定交叉编译工具链:

CROSS=arm-linux-
CC := $(CROSS)gcc
因为你make的时候只需要使用arm-linux-gcc,所以上面指定arm-linux-gcc的位置就好了。那如果需要arm-linux-ld,就再指定LD := $(CROSS)ld,等等。
从你的Makefile中看出应该是ubuntu已经可以识别arm-linux-gcc命令了,应该是已经添加到PATH中,你在ubuntu中执行echo $PATH的值看有没有arm-linux-gcc的路径。

试一下命令
whereis arm-linux-gcc
或者
which arm-linux-gcc
或者
type arm-linux-gcc
看能不能找到arm-linux-gcc在什么地方。

对于第1、2个问题,ubuntu中默认没有安装交叉编译工具,你可以使用交叉编译肯定是你自己安装的,或者直接拷贝了一个现成的交叉编译工具链到ubuntu的某个目录中。所以,到底装在哪儿,安装ubuntu的人员应该知道。

对于第3个问题,就是上面说的在你Makefile中使用的方法,如果系统找不到arm-linux-gcc(例如没添加到$PATH中),就要指定绝对路径,就像下面这种写法:

CROSS=$(YOUR_ARMCROSS_INSTALL_PATH)/bin/arm-linux-
CC := $(CROSS)gcc

对于第4个问题,指定某一个工具链到 $PATH中就好了,你用哪个工具链就指定哪个,如果你使用了一个arm工具链,但后来想用另一个版本的arm工具链,就要在 $ PATH中将原来的删掉然后添加新的。如果同时在$PATH中指定,又在Makefile中指定了工具链的绝对路径,则make的时候使用Makefile中指定的。

Linux怎么查看编译ARM平台程序的编译器arm-linux-gcc相关推荐

  1. Linux下查看、修改分区的卷标:修改linux分区的卷标

    Linux下查看.修改分区的卷标:修改linux分区的卷标可以用 e2label, 比如要把/dev/sda1 的卷标改为/boot,则可这样$ e2label /dev/sda1 /boot

  2. centos linux编译c,紧急提醒!Linux是如何编译C语言程序文件的?CentOS 8的gcc使用方法介绍...

    一句话告诉你gcc怎么编译C文件 执行命令 gcc Tristone.c  -o Tristone 解释:"Tristone.C"Tristone可执行文件编译,编译完成后&quo ...

  3. win10子系统linux下cmake编译32位程序

    文章目录 Ubuntu 18运行32位程序 添加软件源 安装编译环境 编写CMakeLists.txt cmake编译 运行程序 SUSE 15.0运行32位程序 m32编译 添加软件源 安装qemu ...

  4. linux下ndk编译命令行程序及配置

    1.在http://developer.android.com/tools/sdk/ndk/index.html下载Android-ndk-r8e-linux-x86.tar.bz2,解压后 把and ...

  5. 如何在Windows下使用Linux系统来编译和运行程序?

    很多开发人员都有这样的疑问:自己平时是在Windows下面办公的,而自己编写的程序的运行环境又是Linux的,如何从Windows切换到Linux呢?是不是要专门到Linux机器上去编写代码呢? 实际 ...

  6. 在linux中配置编译u-boot方法,在ZC702上运行Linux(4)-编译和使用U-Boot Linux

    1. 安装工具链 如网页上所说,安装包xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin提示系统是dash,而安装包需要bash.按照提示运行命令 sudo ...

  7. linux命令行编译pascal,【教程】 如何在linux/mac下安装pascal

    个人认为 linux和mac的核心都是差不多的--所以 对于mac用户有一定的借鉴作用 ============================我是华丽丽的分割线=================== ...

  8. linux系统下编译运行C++程序

    前提 首先linux系统下要有C++编译环境.可以使用 which gcc which g++ 查看linux系统下是否安装GNU编译器. 编写代码 使用vim命令打开编辑器编写代码 先写一个最简单的 ...

  9. linux查看 后台运行的程序看不出来,linux后台运行、关闭和查看程序的方法

    一.关闭终端后,后台依然运行的程序的方法 nohup python main.py & (其中python main.py就是我们要运行的程序) 用这个命令,关闭终端后,在另一个终端查看运行的 ...

  10. Linux下eclipse编译C/C++程序遇到 undefined reference to `pthread_create'的异常解决办法

    解决方法:右键点击的当前project->properties->C/C++ Build->Settings->Tool Settings选项卡->GCC C Linke ...

最新文章

  1. 武大+CMU最新开源!全面支持平面/鱼眼/球面相机的实时统一线段检测算法
  2. 单端信号和差分信号的区别
  3. AJAX技术入门 第五节 Javascript高级知识
  4. win10安装linux分配两个磁盘,Win10 与 Ubuntu 16.04 LTS 双硬盘双系统安装及环境配置...
  5. java左右三角_java打印一个顺序与倒序的杨辉三角,要求两个三角左右排列
  6. 京东扳回一城,拼多多该小心了?
  7. javascript高程3 学习笔记(二)
  8. java context.write_Channel.write() 和 ChannelHandlerContext.write() 的区别
  9. hexo评论_【前端简历加分】hexo框架搭建个人博客站点,手把手教学
  10. 隐含社交信任度和基于情感的方法的推荐系统
  11. 阿里巴巴16字真言 | 管理者的基本要求是什么?
  12. php的json_encode函数问题
  13. zend7 常用快捷键
  14. 表格如何调出好看的样式?
  15. 美国股市由涨转跌 道指一度暴跌超过200点
  16. 数据分析SQL【离职率】和【司龄】的计算
  17. 机器学习怎么学?机器学习流程
  18. 程序员纹身被拍引网友热议,代码身上纹,我是社会人!
  19. STM32用ST-link下载程序
  20. wps如何在目录里面打省略号_在wps中怎么让文档目录的省略号对齐 - 卡饭网

热门文章

  1. windows下如何安装pip
  2. RESTful登录设计(基于Spring及Redis的Token鉴权)
  3. 关于调整input里面的输入光标大小
  4. MySql 安装 Win python3
  5. bert性能优化之——用另一种方式整合多头注意力
  6. 【为书豪相亲】单身小姐姐你在哪里,我是书豪,我在等你
  7. 深度学习数学基础一--最小二乘法
  8. 遗传优化算法优化LSTM-MSE
  9. 一文弄懂nginx反向代理和负载均衡
  10. 排序算法之——归并排序分析