Arduinoでコンパイル時に「xxx.h」に対して 複数のライブラリ が見つかりましたというエラーが出てきた件

工作

何回か紹介しているDFPlayer mini Playerを使ったMP3プレイヤーのスケッチをコンパイルしようとしたところ、何故か「DFMiniMp3.h」に対して 複数のライブラリ が見つかりました、他数か所のエラーが表示されてコンパイル出来なくなってしまった。私が使っているのはMakuna/DFMiniMp3というコードで、どうやらバージョンアップ時に内容に変更があったようなのだ。

エラー

これは困ったので、とりあえず重複しているxxx.hをアンインストールしてみたりしたのだが、どうにもエラーが止まらない。そこでネットで調べてみると、案外このタイプのエラーが多いようで、いくつかのヒントが出てきた。

それによるとどうやらこのエラーは「ひっかけ」の可能性が高いとのことで、このエラーの周辺に本当のエラーが潜んでる、そしてそれはなんらかのプログラムミスの可能性が高いとのことだ。

普段からコンパイルは詳細情報表示にしているので、色々探ってみたもののよくわからない。とりあえずエラー行を削除するとさらに意味不明になっていくような気がしてきた。というわけで、基本に返ってMakunaライブラリのサンプルをチェックしてみることに。すると、スケッチの微妙な変数定義が結構変わってて、しかもいくつかはvoidで定義されてるコマンドも変わってることに気付き、それを修正したら問題なくコンパイル完了した。ということはやっぱりフェイクエラーだったのかw

あと忘備録的に調べて出てきた別の方法も書いておこう。また別の時に使えるかも。

hファイルをスケッチと同じフォルダに移動して、#include<xxx.h >(インクルードパスからファイルを検索する)ではなくinclude”xxx.h”(” “ ダブルクォーテーション、カレントディレクトリからファイルを検索してファイルが見つからなかったらインクルードパスを検索)に変える。

まぁなんにせよまた使えるようになって良かった~。

工作室

いいね! (4 いいね!)

読み込み中...

コメント

タイトルとURLをコピーしました