AtmelStudio6.2でc++11構文を使用する
AVRの開発をしていて激しくラムダ構文だとかが使いたくなる時がある。
avr-g++を直接叩いていたけどAtmel Studioでできるか確認したのでテスト。
環境
- Windows 7 64bit
- Atmel Studio 6.2
- ATMega88p
プロジェクトを作成
c++でプロジェクトを作成します。
コーディング
試しにラムダ構文を使った物を書いてみる。
#include <avr/io.h> #include <util/delay.h> int main(void){ DDRC = 0xff; //c++11 lambda auto f = [](uint8_t d){ PORTC = d;}; for(uint8_t i = 0 ; ; ++i) { f(i); _delay_ms(200); } }
そのままビルドする
怒られます
プロジェクトプロパティを開いて、ToolchainからAVR/GNU C++ Compilerの設定を出します
-std=c++11
を追記すれば完了。普段ツールに頼ってたりすると知らないのでメモ
補完も聞くらしい、すごい