编译px4时报错:unrecognized command line option ‘-fdiagnostics-color=always’

本文主要是介绍编译px4时报错:unrecognized command line option ‘-fdiagnostics-color=always’,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题描述:

最近在学习px4源码,编译的时候报了这个错误:

unrecognized command line option ‘-fdiagnostics-color=always’

然后百度了一下,发现 ‘-fdiagnostics’ 的错误很多都跟gcc版本有关系,最后也是通过更换版本解决的。于是我也就换了一个版本,再编译就ok了。

如何安装与更换GCC版本:

1.如何查看gcc版本(只能看到当前使用的):

gcc --version

或者

gcc -v

2.如何定位gcc文件夹

which gcc

3.如何查看总共安装了哪几个版本的gcc?
那就要去文件夹下看了
也就是显示 gcc 根文件夹下带 ‘gcc’ 三个字母的所有文件夹

ls /usr/bin/gcc*

4.如何安装指定版本的 gcc/g++ ?

sudo apt install gcc-5 gcc-5--multilib g++-5 g++-5--multilib

可以把 ‘5’ 换成 ‘4.7’ 或者 ‘7’ 或者其他版本数字

5.如何给不同版本的gcc设置优先级(不过这个功能我还没用到):
其中 ‘20’ 数字越大代表优先级越高;’–slave’能保证gcc版本和gcc一致。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20 --slave /usr/bin/g++ g++ /usr/bin/g++-5

6.如何切换不同gcc版本:

sudo update-alternatives --config gcc

显示如下:

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).slection     Path              Priority   Status
------------------------------------------------------------0            /usr/bin/gcc-5     20        auto mode1            /usr/bin/gcc-4.7   20        manual mode
* 2            /usr/bin/gcc-5     20        manual modePress <enter> to keep the current choice[*], or type selection number: 0

要切换的话直接输数字然后回车,方便的很。

7.如何卸载:

 sudo update-alternatives --config gcc

也会跳出不同版本供你卸载:

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).Selection    Path              Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-5     20        auto mode1            /usr/bin/gcc-4.7   20        manual mode2            /usr/bin/gcc-5     20        manual modePress <enter> to keep the current choice[*], or type selection number:

DONE!

附:在下纯小白一个,很多地方浅尝辄止,不是很懂。这里写的只是一些个人经验,欢迎大神交流指正!!

这篇关于编译px4时报错:unrecognized command line option ‘-fdiagnostics-color=always’的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/858925

相关文章

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

解决Spring运行时报错:Consider defining a bean of type ‘xxx.xxx.xxx.Xxx‘ in your configuration

《解决Spring运行时报错:Considerdefiningabeanoftype‘xxx.xxx.xxx.Xxx‘inyourconfiguration》该文章主要讲述了在使用S... 目录问题分析解决方案总结问题Description:Parameter 0 of constructor in x

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚