Nach harter und langwieriger Arbeit ist die Version GCC 14.2.0 erschienen, in der Fehler beim Build behoben und eine Reihe von Verbesserungen hinzugefügt wurden. Enthalten sind auch Binutils 2.29.1 und GDB 10.2.
Für Windows steht sie als ausführbare Dateien zur Verfügung, für den Build auf Linux-Systemen liegt ein Bash-Skript bei.
Verbesserungen:
- Unterstützung für C++11 und neuer im SDK;
- Standardmäßig ist das für Symbian verwendete Makro definiert: __SYMBIAN32__;
- Vollständige Unterstützung der gängigen vordefinierten Makros in GCC;
- Der Operator delete ( void* ptr, std::size_t sz ) noexcept wird nicht exportiert.
Um die modernen C++-Standards zu unterstützen, befinden sich im Ordner fixed_headers zwei Header-Dateien: gcce.h und e32cmn.h. Die erste ist mit allen SDKs auf Basis von Symbian 9 kompatibel, die zweite nur mit einigen SDKs und Quellcodes von Symbian 3. Zur Installation sollte install_headers.py verwendet werden.
Das Makro __SYMBIAN32__ dient dazu, Code, der für Symbian bestimmt ist, zu isolieren. Standardmäßig wird es vom Build-System des SDK oder über die Compiler-Parameter gesetzt, wenn ein anderes Build-System verwendet wird. Jetzt wird es etwas einfacher für diejenigen, die andere Build-Systeme verwenden.
„Die gängigen vordefinierten Makros sind GNU C-Erweiterungen“ ©GCC-Handbuch – bietet eine vollständige Reihe von Makros für Typen fester Größe.
Fehlerbehebungen:
- Baufehler GCC „crtfastmath.o nicht gefunden“;
- Die freistehende libstdc++ wurde erfolgreich gebaut;
- GDB wurde erfolgreich gebaut.
Seit Version 5 wurde GCC nur mit make -k gebaut, ohne fordern wurde crtfastmath.o benötigt, und damit war der Build beendet. Dies geschah, obwohl diese Datei nicht für SOFTFP kompiliert wird (in diesem Modus ist es dem Programm egal – ob FPU real oder emuliert!). Mit dem angegebenen Parameter wurde alles außer freestanding libstdc++ und GDB gebaut.
Herunterladen hier.
Quelle: linux.org.ru
