在VSCode上使用PlatformIO无法编译:collect2.exe错误:ld返回1个退出状态。

5

最近,我不得不清除我的计算机,重新安装所有内容后,我想打开之前正在进行的一些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");
}

有了这个platformio.ini:

platform = espressif32
framework = arduino
board = esp32dev
monitor_speed = 115200

我遇到了相同的错误:collect2.exe: error: ld returned 1 exit status

有没有人知道发生了什么或者在我重置电脑后发生了什么变化?


你解决了这个问题吗? - warath-coder
1个回答

5

终于在PlatformIo论坛上找到了答案。我在这里回答,以防其他人像我一样首先来到这里寻找答案。

删除文件夹:

c:/users/<username>/.platformio/packages/toolchain-xtensa

然后重新启动构建。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接