Как стать автором
Обновить

Установка GCC в сборке MinGW

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров15K

Цель статьи

Быстро, кратко, понятно описать свой личный опыт, что к чему (не супер программист, так что ввязывать в споры по типу, что один компилятор собирает программу на целых 20 килобайт меньше, итоговая программа быстрее на 200 миллисекунд или алгоритмы оптимизации лучше в Clang нежели в gcc, я не буду).

Просто кратко как, что сделать с чего начать и чем закончить.

Начало

Для начала стоит понимать, что gcc компилятор по сути сборник компиляторов для C/C++/D/Ada и др. (весь список или для любителей прямых источников) и в будущем, возможно других языков программирования. Хотя изначально разрабатывался только для C (первоначально аббревиатура расшифровывалась как GCC - GNU C Compiler (GNU компилятор для языки Си), а ныне GCC - GNU Compilers Collection (коллекция компиляторов) ).

Сама же приставка GNU отсылает нас к лицензии, используемой в данном проекте и к операционной системе GNU. Хотя скорее в целом к проекту GNU. Т.к. GNU является организацией по распространению и развитию open source решений.

Версии GCC

Так получилось, что изначально gcc идет исключительно под Linux/Unix подобные операционные системы, со всеми вытекающими несовместимостями с Windows окружением. Поэтому энтузиастами были собраны 2 различные версии GCC - Cygwin и MinGW.

Разница в том, что Cygwin эмулирует окружение Unix - подобных операционных систем прямо внутри Windows.

MinGW - по сути прямой (насколько возможно) порт GCC на Windows.

Я лично буду использовать MinGW т.к. привык к Windows, а на мой взгляд он чуть проще да и размеры бинарных файлов (исполняемых файлов) у него куда меньше т.к. отпадает нужна в эмуляции Unix-окружения.

Так что по сути и Cygwin и MinGW являются GCC компиляторами, но только это разные сборки сделанные по разным идеологиям и причинам.

Установка MinGW

Есть много вариантов (как и всегда для открытого ПО), но главных по сути 2:

  • Использовать MSYS пакетный менеджер (доступен для Windows)

  • Напрямую загрузить только MinGW.

Я буду действовать по наиболее простому и прямому пути без лишних "зависимостей" потому напрямую скачаю MinGW.

Страница для MinGW и репозиторий с готовыми билдами MinGW (ссылка взята со страницы для MinGW). Перейдя по ним, сразу видим много билдов, и с ходу не понятно какой выбрать. Но все просто. То что начинается с i686 (сильно упрощая - есть 32 bit версия компилятора), а то что начинается с x86_64 64 bit версия компилятора, действительная разница в том, что сборке в 32 bit версии не сможет генерировать 64 bit программы т.е. для ваших программ будет доступно максимум 4 Гб оперативной памяти (что для абсолютного большинства программ более чем достаточно).

Далее mcf/posix/win32. MCF - модель потоков GCC, Posix - порт предназначенный для опять же эмуляции Unix/Linux путей (но тут могу ошибаться т.к. сам не тестировал и не пробовал, что к чему). Win32 - название от winapi32, родной порт для Windows.

SEH/Dwarf - модель обработки исключений, но этот пункт имеет значение для более продвинутых останавливать не вижу смысла, проще - можно выбрать любой, когда поймете зачем он вам и в чем разница сами выберите нужный.

UCRT/MSVCRT - стандартная библиотека для языков и ее реализация. Для более менее правильно работы рекомендую MSVCRT т.к. используется стандартная библиотека времени выполнения от Windows. UCRT стандартная библиотека больше ориентированная для Linux/Unix систем т.к. для них изначально и разрабатывалась, хотя вполне работает и на Windows. Но со сборкой некоторых библиотек на C/C++ могут возникнуть проблемы.

Промежуточный итог

Это был крайне короткий и простой для понимания новичков, обзор, что к чему. Много мест где мог допустить неточность или ошибиться, но опять же вся информация из моего опыта работы с GCC.

Установка

Как такового процесса установки нет, т.к. это не в полном смысле программа или приложения, а просто собранные в архив бинарные файлы.

Но «установка» не сложна. Требуется лишь выбрать нужный каталог на вашем ПК, туда распаковать ранее скаченный архив и ВАЖНО! прописать к нему путь в системной переменной Path. Для чего это нужно, чтобы при вызове из командой строки фразы «gcc» операционная система понимала к какому именно файлу из тысяч других нужно обратиться.

Проще всего будет сделать через графический интерфейс самой Windows хотя можно и через командную строку.

  1. Открыть мой компьютер (проводник) - корневой каталог где находятся диски или диск (Локальный диск (C:), Локальный диск (D:) - (если имеется) и др.).

  2. Кликнуть ПКМ на любое свободное место и в выпадающем меню перейти в свойства.

  3. Далее в перейти в дополнительные параметры.

  4. Далее в переменные среды.

  5. В разделе системные переменные найти в колонке "переменная" название Path, нажать на нее и далее нажать изменить.

  6. И можете в начало а можете и в конец вставить полный путь к тому месту где у вас находится компилятор MinGW, например у меня это D:\mingw64. Главное вы НЕ ДОЛЖНЫ удалять или изменять содержимое данной переменной, а просто дополнить ее новым путем отделенным от других точкой с запятой (;), например D:\mingw64;C:\Program Files\Python312\Scripts. Но и в интернете есть куча более подробных статей на эту тему том числе со скриншотами и посвященными именно MinGW.

Итог

Установленный и настроенный MinGW. Чтобы убедиться, что вы все сделали правильно откройте командную строку и введите gcc --version если windows пишет что такой команды не существует значит, вы что-то сделали неправильно пересмотрите шаги. Если выведет информацию о текущей версии gcc компилятора и некоторые другие данные, значит gcc в вашей системе успешно установлен и готов к работе.

Теги:
Хабы:
Всего голосов 11: ↑8 и ↓3+7
Комментарии11

Публикации

Истории

Работа

Программист C++
129 вакансий
Программист С
38 вакансий
QT разработчик
5 вакансий

Ближайшие события