Die alignment-Warnung ist harmlos. Die resultiert aus einem kleinen Bug
im AVR-Target von GCC. Da wird aber trotzdem das richtige getan und die
Warnung kann getrost ignoriert werden.
__cxa_pure_virtual ist die Funktion, die aufgerufen wird, wenn es durch
einen Fehler im Programm zu einem Aufruf einer rein virtuellen Funktion
käme. Da es keine C++-Standardlib für AVR-g++ gibt (und auch keine
libsupc++), fehlt die Implmenentation dieser Funktion. Es sollte
allerdings möglich sein, das zu korrigieren, indem man die Funktion
einfach selbst schreibt. Sie kann dazu einfach leer sein oder auch eine
Debug-Ausgabe irgendwo hinschreiben. Probier einfach mal ein:
1 | void __cxa_pure_virtual()
|
2 | {
|
3 | }
|
ggf. noch mit einem extern "C" davor, falls er's immer noch nicht
findet.