HelloWorldでコンパイルエラー!!



  • プログラミング初学習者です。ArduinoIDEやC/C++でプログラム学習しています。ハードウェアとしてM5Stack Basicを購入しています。最近、使用するPCのOS更新などがあったので、確認の意味でM5StackBasicのサンプルスケッチをコンパイルしました。サンプルスケッチは”HalloWorld.ino"です。
    コンパイルエラーが出たのですが、この問題解消は初学者の私には手におえません。
    どなたか、どうか、この問題が解消するご教示をいただけないでしょうか?
    使用している環境は次の通りです。

    1. PC : MacBook Pro16(2019)Intel Core i9, RAM 16GB
    2. OS :mac OS 14.1.1 Sonoma
    3. ArduinoIDE Ver.2.3.1
    4. Library M5Stack by M5Stack : Ver.0.4.6

    下記エラー記述は末尾の抜粋です。
    サンプルスケッチ:”HelloWorld.ino"
    エラー内容:エラーは次の通りですが、大量のメッセージでした。
    ・・・・/libraries/M5Stack/src/utility/quaternionFilters 2.cpp:272: first defined here
    collect2: error: ld returned 1 exit status

    exit status 1

    Compilation error: exit status 1
    ちなみに、Windows11(23H2)、ArduinoIDE Ver.2.3.0 / Library :M5Stack by M5Stack(V.0.4.6)の環境でサンプルスケッチ”HelloWorld.ino"を評価しましたが、エラーが出ます。
    ”HelloWorld”くらいのコードを処理できないと、他のコードの信頼性は全く無いので、どうしたらよいでしょうか?教えてください。
    Yuji Takeda



  • 武田さん:問題は簡単です! Arduino ファイル システムでは、ファイル名にスペースを使用できません。 quaternionFilters 2.cpp の「filters」と「2」の間にはスペースがあります。ファイルと、名前にスペースが含まれるその他のファイルを削除する必要があります。 M5Stack ライブラリ全体を削除し、Arduino のライブラリ更新ツールを使用して再インストールすることをお勧めします。 -テリー



  • テリーさん、ご教示ありがとうございました。ArduinoライブラリーからM5Stackライブラリをすべて削除し、MacBookを再起動。Arduinoライブラリー管理から[m5stack by m5stack] Ver.0.4.6を再インストールすることで、問題は解消しました。問題が起きていたときは、サンプルスケッチから”HelloWold"を選択起動すると、ArduinoIDEが警告していました。このファイル名は使えないという意味です。具体的にファイル名にスペースがあるからとの指摘はありませんでしたが、【HelloWold 2.ino】と数字2の前に一つのスペースが有ったので、【HelloWorld2.ino]と変更したところ、スケッチとしてArduinoIDEはオープンしました。しかし、コンパイルするとエラーが起こり、その文字数は10万文字以上ありました。その末尾の一部だけを掲載しました。他のESP32‐DevkitCなどスケッチはコンパイルに問題がありませんでしたので、M5Stackだけの問題らしいとは考えていました。ともかくも、今後、M5Stackを使う予定があるので、問題が解消して安堵しております。テリーさん、ありがとうございました。感謝です。 Yuji 拝



  • Yuji-san。朗報です!お役に立ててとてもうれしいです。 「M5Stack」を頑張ってください!
    -テリー