След дълъг и труден труд, излязоха версия GCC 14.2.0, в която бяха коригирани грешки при компилация и добавени редица подобрения. В комплекта също влизат Binutils 2.29.1 и GDB 10.2.
Достъпно е за Windows под формата на изпълними файлове, а за компилация на Linux системи е приложен bash скрипт.
Подобрения:
- поддръжка на C++11 и по-нови версии в SDK;
- по подразбиране е определен макросът, използван за Symbian: __SYMBIAN32__;
- пълна поддръжка на общите предварително дефинирани макроси в 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 или чрез параметрите на компилатора, ако се използва друга система за компилация. Сега ще бъде малко по-лесно за тези, които използват други системи за компилация.
«Предварително дефинираните макроси са разширения на GNU C» ©GCC ръководство – предоставен е пълен набор от макроси за типове с фиксиран размер.
Поправки:
- грешка при компилация GCC «crtfastmath.o не е намерен»;
- така че се събра freestanding libstdc++;
- така че се събра GDB.
С започването на 5-та версия, GCC се компилираше само с помощта на make -k, без него започваше да изисква crtfastmath.o, и на това компилацията приключваше. Това при условие, че този файл не се компилира за SOFTFP (в този режим на програмата и не й пука – FPU реален или емулиран!). С посочения ключ всичко се компилираше, с изключение на freestanding libstdc++ и GDB.
Свали тук..
Източник: linux.org.ru
