生物と計算機のあいだ

個人的にうまくいったかなとおもったことを書いています。うまくいかなかったらごめんなさい。

Arduino Dueでのコンパイルエラー (arm-none-eabi-g++: error)

研究機器を制御する用途でArduino Dueを触り始めた。

公式サイトが公開しているコードをコピペして実行しようとした時点でコンパイルエラーに嵌ってしまったので、メモ。

実行環境
Windows10
機器:Arduino Due
Arduino IDE: 1.8.4

コンパイル前にやったこととしては、
1. ArduinoをUSBでPCに接続
2. Dueを使用するために必要なパッケージをIDEに表示されたメッセージに従ってダウンロード
の2ステップだけ。

エラーメッセージは

arm-none-eabi-g++: error: CreateProcess: No such file or directory

exit status 1
ボードArduino Due (Programming Port)に対するコンパイル時にエラーが発生しました。

と表示されており、似たようなエラーで困っているStack Overflowとかを読んでもいまいち解決せず。
IDEの設定を見てると、コンパイル過程を出力する設定 (ファイル > 環境設定 > 設定 > より詳細な情報を表示する > コンパイル) があったので、そこにチェックを入れて再度ファイルのアップロードを実行。
すると、下記ファイルを探しにいって見つからないとエラーを吐いていることがわかった。

"C:\Users\USER_NAME\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-g++"

実際にこのファイルをエクスプローラーで探そうとしても、ファイルはおろか、Arduino15というディレクトリ自体が存在していないことがわかった。
ArduinoをインストールしたことでWindowsのドキュメントフォルダの中に作成されていたArduinoDataというディレクトリの中に探していたファイルを発見。Arduino15というディレクトリ名がArduinoDataになっていること以外はサブディレクトリの名前も完全に一致しているので、ディレクトリを"AppData\Local"の下にコピーしてディレクトリ名を変更してアップロードを実行すると、何事もなかったかのようにコンパイル成功。

どうしてこんなことになってしまったのかはわからないけれど、一応解決。