ちょっと面倒。こちらをみると他の方法もあるみたいだけどガッツリ手動削除のほうで(以下の手法もリンク先が元)
消し方
ArduinoIDEのFile->Preference->Setting->Show verbose output duringのcompileにチェックを入れる
そのあとコンパイル実行。
outputに”Using previously compiled file ~”と”Using precompiled core ~”が出力される。その中にある目当てのクラスの場所が出ているはずなので検索。
対象のキャッシュを削除(面倒なら丸ごとフォルダでもいけるはず)
自分のけしたいやつは下だけでなくて同じフォルダにいた他のやつも必要だったけどログ取り忘れた。
PS C:\Users\kitam\Documents\Arduino\libraries\M5Stack_Avatar\src> ls C:\Users\kitam\AppData\Local\Temp\arduino\sketches\24ABF9CB78656DF99B51FAEF43A95CDD\libraries\M5Stack_Avatar\
Directory: C:\Users\kitam\AppData\Local\Temp\arduino\sketches\24ABF9CB78656DF99B51FAEF43A95CDD\libraries\M5Stack_Avatar
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2024/03/16 21:11 28432 Avatar - コピー.cpp.d
-a--- 2024/03/16 21:11 548532 Avatar - コピー.cpp.o
けしてっやて同じく他のも
Avatar.cppの~はすでに定義済みでうんぬんかんぬんというエラーメッセージだった。Avatar.cppとAvater.oも削除した。(コンパイルされたものがまとめて詰まっているobjs.aを見る作りな気がするのでそっちを削除してもよかったかも)
PS C:\Users\kitam\Documents\Arduino\libraries\M5Stack_Avatar\src> rm C:\Users\kitam\AppData\Local\Temp\arduino\sketches\24ABF9CB78656DF99B51FAEF43A95CDD\libraries\M5Stack_Avatar\*コピー*
再度IDEからコンパイル実行(IDEの再起動等はいらないはず)
Show verbose output duringはかなり遅い気がするので好みで元の設定に。
一応発端
動きを調べようとライブラリフォルダのソースをフォルダ内で一旦コピーしてArduinoIDEからビルドした。ところAvatar – コピー.cppもコンパイルされインクルードガードなく(?)重複定義になった。
こんな配置で
PS C:\Users\kitam\Documents\Arduino\libraries\M5Stack_Avatar\src> ls Directory: C:\Users\kitam\Documents\Arduino\libraries\M5Stack_Avatar\src Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2024/03/07 14:40 261 Accessory.h -a--- 2024/03/07 14:40 8007 Avatar - コピー.cpp -a--- 2024/03/07 14:40 8007 Avatar.cpp
コンパイル(IDEのまるっとアップロード)実行
c:\Users\kitam\Documents\Arduino\libraries\M5Stack_Avatar\src/Avatar.cpp:233: multiple definition of `m5avatar::Avatar::getColorPalette() const'; C:\Users\kitam\AppData\Local\Temp\arduino\sketches\24ABF9CB78656DF99B51FAEF43A95CDD\libraries\M5Stack_Avatar\objs.a(Avatar - �R�s�[.cpp.o):c:\Users\kitam\Documents\Arduino\libraries\M5Stack_Avatar\src/Avatar - �R�s�[.cpp:233: first defined here c:/users/kitam/appdata/local/arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\kitam\AppData\Local\Temp\arduino\sketches\24ABF9CB78656DF99B51FAEF43A95CDD\libraries\M5Stack_Avatar\objs.a(Avatar.cpp.o): in function `m5avatar::Avatar::setColorPalette(m5avatar::ColorPalette)': c:\Users\kitam\Documents\Arduino\libraries\M5Stack_Avatar\src/Avatar.cpp:231: multiple definition of `m5avatar::Avatar::setColorPalette(m5avatar::ColorPalette)'; C:\Users\kitam\AppData\Local\Temp\arduino\sketches\24ABF9CB78656DF99B51FAEF43A95CDD\libraries\M5Stack_Avatar\objs.a(Avatar - �R�s�[.cpp.o):c:\Users\kitam\Documents\Arduino\libraries\M5Stack_Avatar\src/Avatar - �R�s�[.cpp:231: first defined here