ArduinoIDE2系のキャッシュされたコンパイル済みファイルの消し方

ちょっと面倒。こちらをみると他の方法もあるみたいだけどガッツリ手動削除のほうで(以下の手法もリンク先が元)

消し方

ArduinoIDEのFile->Preference->Setting->Show verbose output duringのcompileにチェックを入れる

そのあとコンパイル実行。

outputに”Using previously compiled file ~”と”Using precompiled core ~”が出力される。その中にある目当てのクラスの場所が出ているはずなので検索。

対象のキャッシュを削除(面倒なら丸ごとフォルダでもいけるはず)

自分のけしたいやつはだけでなくて同じフォルダにいた他のやつも必要だったけどログ取り忘れた。

けしてっやて同じく他のも

Avatar.cppの~はすでに定義済みでうんぬんかんぬんというエラーメッセージだった。Avatar.cppとAvater.oも削除した。(コンパイルされたものがまとめて詰まっているobjs.aを見る作りな気がするのでそっちを削除してもよかったかも)

再度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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です