FYI, just a few more observations...I am now using this folder:
c:\Arduino\ESP32S3_4848S040_Clock3\arduino-portable
so 35 characters before arduino-portable and when I use esp32 3.0.0 I get the same error while it's building a different file:
allocator.h: 46:10: fatal error: bits\c++ No such file or directory
If I switch to 3.0.7 it builds fine.
And If I shorten the path to
c:\Arduino\ESP32S3_4848S040\arduino-portable
it does build on esp32 3.0.0 fine too.
Also one small thing I noticed, when you uninstall esp32 it still keeps these folders:
(added a space in the path to get it rendered correctly in the forum)
c:\Arduino\ESP32S3_4848S040_Clock3\arduino-portable\packages\esp32
c:\Arduino\ESP32S3_4848S040_Clock3\arduino-portable\packages\esp32\hardware
c:\Arduino\ESP32S3_4848S040_Clock3\arduino-portable\packages\esp32\hardware\ esp32
c:\Arduino\ESP32S3_4848S040_Clock3\arduino-portable\packages\esp32\tools
they are empty so not a biggie.
And unrelated to the above I wanted to ask...I am trying to test my project with different core and library versions. For that I create copies of the project folder so I have like
c:\Arduino\ESP32S3_4848S040_Clock1
c:\Arduino\ESP32S3_4848S040_Clock2
c:\Arduino\ESP32S3_4848S040_Clock3
and using the board manager I install a different esp32 version in each. Underneath those folders there's arduino-portable folder and the folder for the ino:
c:\Arduino\ESP32S3_4848S040_Clock1\ESP32S3_4848S040_Clock\ESP32S3_4848S040 _Clock.ino
c:\Arduino\ESP32S3_4848S040_Clock2\ESP32S3_4848S040_Clock\ESP32S3_4848S040 _Clock.ino
c:\Arduino\ESP32S3_4848S040_Clock3\ESP32S3_4848S040_Clock\ESP32S3_4848S040 _Clock.ino
the problem with that is they all build to the same temp VMBuilds
\AppData\Local\Temp\VMBuilds\ESP32S3_4848S040_Clock\esp32_esp32s3
If I understand correctly that's based on the project name and selected board which in my case is the same for all 3 copies. So if I want to test something simultaneously in Clock1, Clock2 and Clock3 projects it has to rebuild the cores as I try to sequentially build Clock1, Clock2 and then Clock3 (and ideally I'd like to do the builds simultaneously).
To get around it, I am now renaming the projects as well, so I have
c:\Arduino\ESP32S3_4848S040_Clock1\ESP32S3_4848S040_Clock1\ESP32S3_4848S040 _Clock1.ino
c:\Arduino\ESP32S3_4848S040_Clock2\ESP32S3_4848S040_Clock2\ESP32S3_4848S040 _Clock2.ino
c:\Arduino\ESP32S3_4848S040_Clock3\ESP32S3_4848S040_Clock3\ESP32S3_4848S040 _Clock3.ino
which then creates different folders in VMBuilds. Is that the way I need to do it or is there something else I can do to keep ino files the same in all 3?
I like the concept of arduino-portable and I am thinking that if VMBuilds folder could be made configurable per project (or have VMBuilds next to the arduino-portable folder) it would make the project and it's build fully isolated. I also understand that my use case is probably quite niche so I am fine doing the rename.
One more thing I noticed when renaming the project...If I rename let's say ESP32S3_4848S040_Clock3.ino to ESP32S3_4848S040_Clock4.ino in visual studio, it asks me to if I want to rename the folders to which I say OK and it renames it but the .filters file remains the same: ESP32S3_4848S040_Clock3.vcxproj.filters so when the project automatically reloads, all files are at the root level in solution explorer. I have to manually rename the filters file and restart VS.
Thanks for your time to read this