2020年3月30日月曜日

Arduino IDE スコープエラー

M5Stack用のプログラムを整理していたら(タブに分けていたら)
以下の様なスコープエラーが出てきた。(一部抜粋)

error: variable or field '関数名' declared void
error: '引数名' was not declared in this scope
「WiFi.h」に対して複数のライブラリが見つかりました
「SD.h」に対して複数のライブラリが見つかりました

エラーに書かれている内容を元に調べてみても原因は見つからず、、
他の方の記事を見るとloop前に関数を持ってくるとか色々書いてあったけど、それで動いても気持ち悪いので仕方なくバックアップしておいた一つ前のファイルを元に調べてみました。
するとメインファイル(フォルダ名と同じinoファイル)に関数を一つも置いていないのが原因でした。
仕方ないのでメインファイルの末尾に適当な空の関数を入れたらエラーがすべて消えました。

void empty(){}

setup()やloop()を別のタブに移動させた時は注意しよ。。
プログラムを書く時は、まめに検証(コンパイル)ですね。

0 件のコメント:

コメントを投稿