ArduinoJson报错

时间:2024-04-10 09:34:01

NodeMCU(ESP8266)使用ArduinoJson库,编译报错Error: undefined reference to __cxa_guard_acquire and __cxa_guard_release


使用环境

  • 硬件环境:NodeMCU(ch340驱动)
  • 操作系统:Windows 7 64bit
  • 编译环境:Arduino IDE 1.6.7
  • 编译库: ESP8266、ArduinoJson
  • 源码:ArduinoJson自带例程->StringExample.ino

ArduinoJson报错
ArduinoJson报错

编译时,报错

ArduinoJson报错

查阅资料后,官方给出的答案

ArduinoJson报错

在一位大神的指导下,经过尝试,成功编译通过。

解决办法:需要将 -fno-threadsafe-statics ,添加到platform.txt中第30行compiler.cpp.flags=-c -Os -g…这一行后边,保存。
platform.txt是ESP8266库里边的,而不是Arduino库里边的。
一般在
C:\Users\Administrator\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.0.0
ArduinoJson报错