おそらくArduinoのIDE> 1.6.2にはC++ 11のサポートがあります。Arduino 1.6.9/1.610のビルドに失敗しました。 '' constexprint 'はタイプに名前を付けません。 "
私はOSX上でバージョン1.6.9を新しくダウンロードして実行しました(そして、他の人が報告しているように、Windowsでも1.6.9/1.6.10と同じです)。
私はこの単純なプログラムをコンパイルするために取得することはできません。
constexpr int get_five() { return 5; }
void setup() {
Serial.begin(9600);
Serial.println(get_five());
}
void loop() {
}
を私が構築したり、アップロードしようとしたとき、私はこのエラーが表示されます。私はこの質問と回答を見てきました
sketch_jul25a:1: error: 'constexprint' does not name a type
constexpr int get_five() { return 5; }
^
exit status 1
'constexprint' does not name a type
が、私が使用しているIDEの1.6.9バージョンではもはや適用されません - error: 'constexpr' does not name a type m- arduino ide
私はbuでIDEによって出力される一時ファイルを掘りましたilding、そして自動的に機能(私は複数ファイルのスケッチをサポートするために仮定)のヘッダを生成しようとしているようで、それがconstexpr
遭遇したときに間違ったことを行います。
#include <Arduino.h>
#line 1 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
#line 1 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
#line 1 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
constexprint get_five(); // **** <- This looks to be the culprit
#line 3 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
void setup();
#line 9 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
void loop();
#line 1 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
constexpr int get_five() { return 5; }
void setup() {
Serial.begin(9600);
Serial.println(get_five());
}
void loop() {
}
することは、これはArduinoのIDEのバグです?それはOSX特有のものですか? constexpr
を動作させるための回避策はありますか?
私はグーグルでいくつかのArduinoライブラリがconstexpr
を使用していることがわかったので、場合によっては動作させることができます。
私は同じ問題を経験しました。この問題は、OSXに固有の問題ではありません。この問題は、1.6.10でも発生します。 – esorton
タイトルのエラーの命名が良いので編集を承認しました。他の人には、例えば 'uint'などを使用している場合など、まったく同じエラーがないかもしれません。これは間違いなく、受け入れ回答の状態として、IDE自体からのアップストリームコンポーネント(コンポーネントはarduino-builder)のエラーです。彼らはしかし、それぞれのIDEアップデートで少し新しいスタックをリリースする傾向があります。 –