Linux怎么查看编译ARM平台程序的编译器arm-linux-gcc
问题:
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相关推荐
- Linux下查看、修改分区的卷标:修改linux分区的卷标
Linux下查看.修改分区的卷标:修改linux分区的卷标可以用 e2label, 比如要把/dev/sda1 的卷标改为/boot,则可这样$ e2label /dev/sda1 /boot
- centos linux编译c,紧急提醒!Linux是如何编译C语言程序文件的?CentOS 8的gcc使用方法介绍...
一句话告诉你gcc怎么编译C文件 执行命令 gcc Tristone.c -o Tristone 解释:"Tristone.C"Tristone可执行文件编译,编译完成后&quo ...
- win10子系统linux下cmake编译32位程序
文章目录 Ubuntu 18运行32位程序 添加软件源 安装编译环境 编写CMakeLists.txt cmake编译 运行程序 SUSE 15.0运行32位程序 m32编译 添加软件源 安装qemu ...
- linux下ndk编译命令行程序及配置
1.在http://developer.android.com/tools/sdk/ndk/index.html下载Android-ndk-r8e-linux-x86.tar.bz2,解压后 把and ...
- 如何在Windows下使用Linux系统来编译和运行程序?
很多开发人员都有这样的疑问:自己平时是在Windows下面办公的,而自己编写的程序的运行环境又是Linux的,如何从Windows切换到Linux呢?是不是要专门到Linux机器上去编写代码呢? 实际 ...
- 在linux中配置编译u-boot方法,在ZC702上运行Linux(4)-编译和使用U-Boot Linux
1. 安装工具链 如网页上所说,安装包xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin提示系统是dash,而安装包需要bash.按照提示运行命令 sudo ...
- linux命令行编译pascal,【教程】 如何在linux/mac下安装pascal
个人认为 linux和mac的核心都是差不多的--所以 对于mac用户有一定的借鉴作用 ============================我是华丽丽的分割线=================== ...
- linux系统下编译运行C++程序
前提 首先linux系统下要有C++编译环境.可以使用 which gcc which g++ 查看linux系统下是否安装GNU编译器. 编写代码 使用vim命令打开编辑器编写代码 先写一个最简单的 ...
- linux查看 后台运行的程序看不出来,linux后台运行、关闭和查看程序的方法
一.关闭终端后,后台依然运行的程序的方法 nohup python main.py & (其中python main.py就是我们要运行的程序) 用这个命令,关闭终端后,在另一个终端查看运行的 ...
- Linux下eclipse编译C/C++程序遇到 undefined reference to `pthread_create'的异常解决办法
解决方法:右键点击的当前project->properties->C/C++ Build->Settings->Tool Settings选项卡->GCC C Linke ...
最新文章
- 武大+CMU最新开源!全面支持平面/鱼眼/球面相机的实时统一线段检测算法
- 单端信号和差分信号的区别
- AJAX技术入门 第五节 Javascript高级知识
- win10安装linux分配两个磁盘,Win10 与 Ubuntu 16.04 LTS 双硬盘双系统安装及环境配置...
- java左右三角_java打印一个顺序与倒序的杨辉三角,要求两个三角左右排列
- 京东扳回一城,拼多多该小心了?
- javascript高程3 学习笔记(二)
- java context.write_Channel.write() 和 ChannelHandlerContext.write() 的区别
- hexo评论_【前端简历加分】hexo框架搭建个人博客站点,手把手教学
- 隐含社交信任度和基于情感的方法的推荐系统
- 阿里巴巴16字真言 | 管理者的基本要求是什么?
- php的json_encode函数问题
- zend7 常用快捷键
- 表格如何调出好看的样式?
- 美国股市由涨转跌 道指一度暴跌超过200点
- 数据分析SQL【离职率】和【司龄】的计算
- 机器学习怎么学?机器学习流程
- 程序员纹身被拍引网友热议,代码身上纹,我是社会人!
- STM32用ST-link下载程序
- wps如何在目录里面打省略号_在wps中怎么让文档目录的省略号对齐 - 卡饭网