The*_*ist 4 arduino c++11 arduino-ide
我目前正在使用Arduino 1.0.6 IDE开发一个项目,它似乎不接受C++ 11 std :: array.是否可以更改编译器标志以使其工作?
小智 8
您可以在文件#pragma内部使用*.ino,以便不必创建本地平台文件:
#pragma GCC diagnostic warning "-fpermissive"
#pragma GCC diagnostic ignored "-Wwrite-strings"
对于其他的,请参见此处。
将自定义编译器标志添加到platform.local.txt。只需在platform.txt所在的目录中创建它即可。例如:
compiler.c.extra_flags=
compiler.c.elf.extra_flags=
compiler.S.extra_flags=
compiler.cpp.extra_flags=-mcall-prologues -fno-split-wide-types -finline-limit=3 -ffast-math
compiler.ar.extra_flags=
compiler.objcopy.eep.extra_flags=
compiler.elf2hex.extra_flags=
在此示例中,C ++标志将使较大的草图更小。当然,您可以改用自己的标志。由于platform.local.txt不会覆盖标准文件并且非常简短,因此尝试使用编译器标志非常容易。
您可以将每个项目的platform.local.txt保存在其目录中。它不会对项目目录产生任何影响,但是通过这种方式,如果您决定再次处理旧项目,则可以将其复制到platform.txt所在的目录(通常是./hardware/arduino/avr/ ),并使用特定于项目的编译器标志继续进行您的项目。
显然,如果您有多个项目并且不介意处理Makefile,则使用Makefile作为ladislas建议可以更专业,更方便。但是,仍然可以使用platform.local.txt胜过直接将platform.txt弄乱,对于已经熟悉Arduino IDE的人来说,这是一种使用编译器标志的简便方法。
使用IDE很难做到这一点.
我建议你使用Sudar的伟大Arduino Makefile来完整命令行.
这样您就可以根据自己的喜好自定义编译器标志.
我还创建了Bare Arduino项目来帮助您入门.该文档涵盖了很多要点,从安装最新的avr-gcc工具链到如何使用存储库,编译和上传代码.
如果您发现遗漏的内容,请随时填写Github上的问题以便我可以修复它:)
希望这可以帮助!:)
| 归档时间: | 
 | 
| 查看次数: | 8944 次 | 
| 最近记录: |