Ich versuche std :: map in ESP8266 Firmware zu verwenden, die mit Sming 2.1.0 (unter Windows 7 SP1) entwickelt. Ich habe folgende Fehlermeldung anzeigt:Gibt es eine Möglichkeit, std :: map in der Sming-IDE (ESP8266) zu verwenden?
undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
Nach dieser http://www.esp8266.com/viewtopic.php?p=40593 und diese ESP8266 for Arduino IDE (xtensa-lx106-elf-gcc) and std::map linking error sollte man -lstdC++ (und möglicherweise -lsupC++) in die Liste der Bibliotheken hinzufügen zu verbinden mit.
Aber in Makefile-project.mk in Sming gibt es -nostdlib Flag!
LDFLAGS = -nostdlib ...
Wenn ich es ändern, anstatt die Fehler bekam zu -lstdC++ -lsupC++ Ich habe:
c:/espressif/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/5.1.0/../../../../xtensa-lx106-elf/bin/ld.exe: cannot find crt1-sim.o: No such file or directory
c:/espressif/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/5.1.0/../../../../xtensa-lx106-elf/bin/ld.exe: cannot find _vectors.o: No such file or directory
Und das folgende hier https://www.reddit.com/r/esp8266/comments/3pmyx8/trying_to_link_but_getting_weird_errors/ empfohlen zu lösen:
Try using the -nostdlib link option.
Brilliant!
Ich habe versucht, Xtensa-lx106-Elf von Arduino-Esp8266 https://github.com/rogerclarkmelbourne/arduino-esp8266/tree/master/tools/xtensa-lx106-elf (es enthält CRT1-sim.o, _vectors.o und andere Libs), aber es nicht helfen, zu verwenden.
Ich habe keine endgültige Antwort gefunden: "Wenn es eine Möglichkeit gibt, std :: map und so weiter in Sming zu verwenden?"
Vielen Dank im Voraus für Hilfe.