关于Ubuntu18.04LTS编译最新版PX4源码(v1.16)出错的解决办法

一、前情提要

最近工作又要开始搞PX4的开发,正好读研时有现成的环境(Ubuntu18.04LTS),本着能不折腾就不折腾的原则,直接下载了最新版本的PX4源码进行编译测试(v1.16.0-alpha2-84-g091974e6c5),随便编了个版本(px4_fmu-v3_default)结果编译报错,报错内容如下:

/PX4-Autopilot/platforms/nuttx/NuttX/include/cxx/cmath:60:13: error: conflicting declaration of C function 'bool std::isfinite(double)'
 inline bool isfinite(double value) { return __builtin_isfinite(value); }
             ^~~~~~~~

试了老代码(v1.11)编译是ok的,所以怀疑可能是编译器的问题。多方查找解决办法并尝试,终于解决,现把解决办法分享出来以供大家参考。

二、解决办法

一言以蔽之:就是检查编译器太老了,更新即可!

在谷歌上搜索找到相同报错,这个老哥一语道破:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值