Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

M5stackで"「***.h」に対して複数のライブラリが見つかりました"とか言われたら、巻き戻した方が早い

M5stackで楽しく工作していたら、ボードの更新がでたという通知の後、
M5stack系の情報は消えるはエラーがでるわでテンヤワンヤ。
調べたところ、作業中のどこかのタイミングでライブラリの衝突をおこしていたようです。

実際のところ

「WiFi.h」に対して複数のライブラリが見つかりました
使用済:C:\Users\shuzo\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
未使用:C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\libraries\WiFi
「SD.h」に対して複数のライブラリが見つかりました
使用済:C:\Users\shuzo\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\SD
未使用:C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\libraries\SD
exit status 1

色々調べても埒が明かず、ヤケクソ気味にゼロから環境構築をして当該スクリプトのエラーが無い状態からビルドしたところ通過。
これはと思い、最新版を同じ環境でビルドしたら上記エラー。
この間に何か問題があったようです。
……TDDやって、適宜コミットしておけばダメージは最小でしたね……。
横着せずにマメにコミットしましょうというお話でした。

追記:本当に多重化してる可能性もゼロではない

お手製ライブラリを使っている場合など、本当にブッキングを起こしてることもあり得ます。
その時は、対象のライブラリを、可能なら読み込みが遅い方から消していきましょう。
shuzo-kino.hateblo.jp