Версия
Min GW 5.1.4 с компилятором gcc 3.4.5 и урезанными библиотеками.
Библиотеки
В lib/ лежит довольно много библиотек, при этом «ненужные» (lib{imagehlp,iphlpapi,ksproxy,mswsock,netapi32,penwin32,scrnsave,snmpapi,url,vfw32,videoprt,win{inet,mm,spool},ws2_32,wsock32,wst,wstapi32}.a переименованы. Заголовочные файлы доступны для всех библиотек.
Вопросы
Скрипт компиляции mingw.bat линкует каждый компилируемый файл с mingw/restr.o. Нет ни исходников, ни описания restr.o, поясните, что это?
Компилятор gcc версии 4.6.1 с минимально необходимыми библиотеками.
Установка
По инструкции с
сайта нужно распаковать следующие пакеты, но реально минимально достаточно лишь выделенных:
- binutils
- mingw-runtime (dev and dll)
- w32api
- Runtime libraries для GCC:
- mpc (dev and dll)
- mpfr (dev and dll)
- gmp (dev and dll)
- pthreads (dev and dll)
- gomp
- ssp
- intl
- iconv (dev and dll)
- gcc-core (bin and dll)
- gcc-g++ (bin and dll)
Из w32api нужны только файлы lib/lib{advapi,kernel,shell,user}32.a
Библиотеки
Так как распакованы только нужные пакеты, то в lib/ нет библиотек для работы с сетью, процессами и окнами.
В частности, большинство «ненужных» библиотек находилось в пакете w32api.
Будущее
- Надо провести тесты (хорошо бы перетестировку решений отправленных под mingw-5.1.4) с новым компилятором.
- Убедиться, что все «хорошие» решения компилируются, а «нехорошие» не линкуются из-за отстутствия библиотек
- В новом компиляторе значительно меньше библиотек, выяснить, не убрано ли лишнее
- Выяснить, почему размеры некоторых бинарников и библиотек больше соответствующих в mingw-5.1.4
- Выяснить, зачем в mingw-5.1.4 используется restr.o и добавить аналогичный функционал