Thanks for bringing this to our attention @t_aka. I confirm the bug and have submitted a formal report to the Arduino Cloud developers on your behalf. I'll post an update here if I receive any news from them.
I apologize for any inconvenience caused by the bug.
Workaround
I'll provide instructions you can follow to work around the bug:
- Click the following link to download a version of the "Adafruit RGB LCD Shield Library" library I modified so that it will not be affected by the bug:
Adafruit-RGB-LCD-Shield-Library.zip (17.3 KB)
- Wait for your browser to finish the file download.
- Open your sketch in Arduino Cloud Editor.
- Click the icon that looks like shelved books ("Libraries") in the bar on the left side of the Cloud Editor page.
The "Libraries" panel will open.
- Click the upward pointing arrow icon at the top of the "Libraries" panel.
The "Open" dialog will open.
- Select the "ZIP" file of the library in the dialog.
- Click the "Open" button.
The "Open" dialog will close.
- You will now see an indicator at the top of the "Libraries" panel in place of the upward pointing arrow icon as the library is imported. Wait for this indicator to disappear.
Now try compiling or uploading the sketch again, just as you did before when you encountered the error. Hopefully everything will work as expected this time.
โ If you later decide you want to remove the imported library from your Arduino Cloud account, you will find it under the "Custom" tab of the "Libraries" panel.
Please let us know if you have any questions or problems while following those instructions.
Explanation
In case you might be curious to know the boring details, I've provided them below. If you aren't interested in that, you can skip reading the rest of this post.
The problem is caused by an incompatibility between Arduino Cloud Editor and the specific "flat library layout" used by the "Adafruit RGB LCD Shield Library" library (the library that contains the header files Adafruit_RGBLCDShield.h and utility/Adafruit_MCP23017.h).
This is the file structure of the library:
โโโ utility/
โ โโโ Adafruit_MCP23017.cpp
โ โโโ Adafruit_MCP23017.h
โโโ Adafruit_RGBLCDShield.cpp
โโโ Adafruit_RGBLCDShield.h
โโโ library.properties
...
This means the bug can be worked around by converting the library to the alternative "recursive library layout", with the following file structure:
โโโ src/
โ โโโ Adafruit_RGBLCDShield.cpp
โ โโโ Adafruit_RGBLCDShield.h
โ โโโ utility/
โ โโโ Adafruit_MCP23017.cpp
โ โโโ Adafruit_MCP23017.h
โโโ library.properties
...
The modified version of the library I provided you is simply the library adjusted to use the "recursive" library layout you see in the diagram above. The source code remains the same. It was only necessary to move the library's code files under a subfolder named src.