После долгого и тяжелого труда вышла сборка GCC 14.2.0 в которой были исправлены ошибки сборки и добавлен ряд улучшений. В состав также вошли Binutils 2.29.1 и GDB 10.2.
Для Windows доступна в виде исполняемых файлов, для сборки на Linux-системах прилагается bash-сценарий.
Улучшения:
- поддержка C++11 и новее в SDK;
- по умолчанию определен макрос используемый для Symbian:
__SYMBIAN32__
; - полная поддержка common predefined macros в GCC;
- не экспортируется
operator delete ( void* ptr, std::size_t sz ) noexcept;
.
Для поддержки современных стандартов C++ в папке fixed_headers находятся два заголовочных файла: gcce.h и e32cmn.h. Первый подходит ко всем SDK на базе Symbian 9, второй совместим лишь с несколькими SDK и исходниками Symbian 3. Для установки следует использовать install_headers.py
Макрос __SYMBIAN32__
предназначен для изоляции кода предназначенного для Symbian. По умолчанию задается системой сборки SDK или через прараметры компилятора если используется другая система сборки. Теперь будет немного легче тем, кто использует другие системы сборки.
«The common predefined macros are GNU C extensions» ©GCC мануал – предоставлен полный набор макросов для типов фиксированного размера.
Исправления:
- ошибка сборки GCC «crtfastmath.o не найден»;
- таки собрался freestanding libstdc++;
- таки собрался GDB.
Начиная с 5 версии, GCC собирался только при помощи make -k
, без оного начинал требовать crtfastmath.o
, и на этом сборка заканчивалась. Это при том, что этот файл не компилируется для SOFTFP (в этом режиме программе все равно – FPU реальный или эмулиремый!). С указанным ключом собиралось все, кроме freestanding libstdc++ и GDB.
Качать здесь.
>>> Подробности