【问题标题】:cc1plus: error: unrecognized command line option "-std=gnu++11"cc1plus:错误:无法识别的命令行选项“-std=gnu++11”
【发布时间】:2016-08-09 06:19:09
【问题描述】:

mac OS X 无法生成 make 文件并给我一个问题

DOLATs-MacBook-Air:~ dolatsingh$ cd Documents/ardupilot/ArduCopter/
DOLATs-MacBook-Air:ArduCopter dolatsingh$ 制作 apm2 // BUILDROOT=/var/folders/16/slzp9s_s741cb0cgqtcddc_h0000gn/T/ArduCopter.build HAL_BOARD=HAL_BOARD_APM2 HAL_BOARD_SUBTYPE=HAL_BOARD_SUBTYPE_AVR_APM2 TOOLCHAIN=AVR EXTRAFLAGS=-DGIT_VERSION="705d3d56" %% AP_State.o

**cc1plus:错误:无法识别的命令行选项“-std=gnu++11” make: ***** [/var/folders/16/slzp9s_s741cb0cgqtcddc_h0000gn/T/ArduCopter.build/AP_State.o] 错误1

我检查了 GCC 版本,它是 4.2.1

【问题讨论】:

  • 啊,那是GCC的老版本了
  • 看起来 C++11 支持直到 GCC v4.3 才开始,然后它是非常实验性的。我认为您需要更新的版本。
  • 此外,在 gcc 4.8 之前,启用 C++11 支持的标志是 -std=c++0x(或在这种情况下为 -std=gnu++0x)。您有两个选择:获取更新版本的 gcc,或者,由于您使用的是 OS X,因此只需使用 clang。

标签: c++ macos arduino


【解决方案1】:

您需要升级您的 IDE(如果您使用的是 Arduino IDE)。

从 IDE 1.5.8 版本开始,GCC 一直是 4.8.1 版本。但是,您需要使用您正在使用的命令行开关手动启用它。

如果你抢最新的(1.6.2及以上,目前是1.6.9)默认启用C++11。

【讨论】:

  • 我已将 GCC 升级到 4.8 并将其设置为默认值。即使它显示了同样的错误。
猜你喜欢
  • 2017-01-22
  • 2015-02-05
  • 2015-11-12
  • 2013-01-18
  • 1970-01-01
  • 2016-02-10
  • 2016-06-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多