Die libstdc++ von gcc lässt sich relativ einfach kompilieren, sobald du mal eine funktionierende und einigermaßen vollständige libc hast.
Was die libc angeht, kann man existierende Implementierungen portieren (man kommt dabei aber natürlich nicht darum herum, die OS-spezifischen Teile selbst zu schreiben), z.B. pdclib oder newlib. Die glibc gilt als nicht besonders portabel. Das andere Extrem wäre alles selber zu schreiben. Was auch relativ funktioniert, ist eine Mischung zu nehmen: Die OS-unabhängigen Teile (z.B. Stringfunktionen, evtl. ein malloc, usw.) sucht man sich aus freien Libs zusammen und implementiert den Rest selber.
Du siehst: Viele Wege führen nach Rom.