====== MinGW & MSYS ====== [[https://osdn.net/projects/mingw/|Официальный сайт (OSDN)]] * [[https://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip/download|https://sourceforge.net/projects/mingw/]] -> [[https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download|mingw-get-setup.exe]] (0.6.2 - старая страница) * [[https://osdn.net/projects/mingw/downloads/68260/mingw-get-0.6.3-mingw32-pre-20170905-1-bin.zip/|https://osdn.net/projects/mingw/]] -> [[https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/|mingw-get-setup.exe]] (0.6.3 - новая страница/версия) ===== Установка ===== - Загрузите и запустите [[https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/|mingw-get-setup.exe]] - Нажмите кнопку ''Install'', а затем кнопку ''Continue'' - Дождитесь, когда кнопка ''Continue'' будет доступна - Нажмите кнопку ''Continue'', а затем выберите пункты: * ''Basic Setup'' -> ''mingw-developer-toolkit-bin'' * ''Basic Setup'' -> ''mingw32-base-bin'' * ''Basic Setup'' -> ''mingw32-gcc-g++-bin'' * ''All Packages'' -> ''mingw32-libz-dev'' - Выберите в меню ''Installation'' -> ''Apply Changes'' - В новом окне нажмите на ''Apply'', а затем на ''Close'' - Закройте программу ''MinGW Installation Manager'' ===== Использование ===== * @echo off msys\1.0\msys.bat ===== Дополнительно ===== * **OpenSSL**: - Запустите ''C:\MinGW\msys\1.0\msys.bat'' - Выполните следующие команды построчно: wget -q --show-progress https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz tar -xvf openssl-1.0.2u.tar.gz && cd openssl-1.0.2u ./config && make - Скопируйте папку ''include\openssl'' в ''C:\MinGW\include'' - Скопируйте файлы ''libcrypto.a'' и ''libssl.a'' в ''C:\MinGW\lib'' * **Статическая линковка zlib**: * Удалить или переименовать ''C:\MinGW\lib\libz.dll.a''\\ или * Добавить ''-static'' в начало ''LDFLAGS'' внутри ''Makefile'' ===== Обновление ===== - Запустите ''C:\MinGW\libexec\mingw-get\guimain.exe'' - Выберите в меню ''Installation'' -> ''Mark All Upgrades'' - Выберите в меню ''Installation'' -> ''Apply Changes'' - В новом окне нажмите на ''Apply'', а затем на ''Close'' - Закройте программу ''MinGW Installation Manager'' ===== Очистка кэша ===== * Удалите все файлы из папки ''C:\MinGW\var\cache\mingw-get\packages'' ===== Компиляция (MinGW) ===== * Сборка через **make/makefile**@echo off path=C:\MinGW\bin;C:\MinGW\msys\1.0\bin mingw32-make.exe pause * Очистка через **make/makefile**@echo off path=C:\MinGW\bin;C:\MinGW\msys\1.0\bin mingw32-make.exe clean pause * Сборка через **gcc/program.c**@echo off path=C:\MinGW\bin;C:\MinGW\msys\1.0\bin if "%1" neq "" ( echo "%~nx1" gcc.exe -static -O2 -s -o "%~dpn1.exe" "%1" strip.exe -s "%~dpn1.exe" ) pause ===== Hello World ===== * // ISO/IEC 9899:TC3 #include #include int main(int argc, char *argv[]) { printf("Hello World\n"); return 0; } * @echo off path=C:\Dev\SDK\mingw\bin;C:\Dev\SDK\mingw\msys\1.0\bin if not exist %~n0.exe ( gcc.exe -static -O2 -s -o %~n0.exe %~n0.c strip.exe -s %~n0.exe ) if exist %~n0.exe ( file %~n0.exe ldd %~n0.exe %~n0.exe ) pause ===== Удаление ===== * Удалите папку ''C:\MinGW''