我最近不得不删除我的电脑,在让所有东西都启动并运行之后,是时候打开我之前正在处理的一些 ESP32 程序了,我发现 VSCode 上的 Platform IO 将不再编译。运行编译器后出现以下错误:
Compiling .pio\build\esp32dev\FrameworkArduino\stdlib_noniso.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\wiring_pulse.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\wiring_shift.c.o
Archiving .pio\build\esp32dev\libFrameworkArduino.a
Linking .pio\build\esp32dev\firmware.elf
c:/users/lloyd/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -lstdc++
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\esp32dev\firmware.elf] Error 1
=========================================================================== [FAILED] Took 11.91 seconds ===========================================================================
The terminal process "C:\Users\lloyd\.platformio\penv\Scripts\platformio.exe 'run', '--target', 'upload'" terminated with exit code: 1.
我开始调试并意识到即使是最简单的程序也无法编译。我尝试了 Arduino IDE,它工作正常,还有一些使用 CMaker 的示例,它们也工作正常。但是当我尝试上传以下代码时:
void setup()
{
// put your setup code here, to run once:
Serial.begin(115200);
}
void loop()
{
// put your main code here, to run repeatedly:
Serial.print("Hello World");
}
使用这个 platoformio.ini:
platform = espressif32
framework = arduino
board = esp32dev
monitor_speed = 115200
我得到相同的 collect2.exe: error: ld returned 1 exit status
有人知道自从我重置计算机后发生了什么或发生了什么变化吗?
最佳答案
终于在 PlatformIo 论坛上找到了答案。在这里回答,以防其他人像我一样先来看这里。
删除文件夹:
c:/users/<username>/.platformio/packages/toolchain-xtensa
并重新开始构建。
关于c++ - VSCode 上的 PlatformIO 未编译 : collect2. exe:错误:ld 返回 1 退出状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64778211/