Перейти к основному содержимому
Скачать

mingw.pro

MinGW: собственные сборки Windows с GCC, которым можно доверять

Поставляйте стандарты C и C++ для целей Win32, используя проверенную цепочку инструментов GNU, тщательно подобранные заголовки и библиотеки импорта, предназначенные для встроенного связывания Windows без принудительного использования среды выполнения Unix в вашем продукте.

Прозрачная упаковка, проверки целостности и практические рекомендации для команд, которые ежедневно компилируют Windows.

MinGW dark header artwork

Audience

Разработчики и инженеры платформы

Focus

Быстрая итерация на хостах Windows.

What is MinGW?

MinGW, сокращение от Minimalist GNU для Windows, представляет собой собственный порт Windows коллекции компиляторов GNU в сочетании со свободно распространяемыми библиотеками импорта и заголовками API Windows, что позволяет компилировать и связывать программы, работающие на Microsoft Windows, без необходимости собственный SDK для основных задач разработки.

Более широкая экосистема, включая ветку mingw-w64, расширяет заголовки за пределы исходной области, улучшает соответствие тяжелому математическому коду и добавляет современную целевую поддержку, так что вы можете создавать как 32-битные, так и 64-битные двоичные файлы из одной и той же упорядоченной компоновки цепочки инструментов.

Why teams standardize on it

  • Предсказуемая семантика GNU для переносимых кодовых баз, которым также требуются двоичные файлы Windows.
  • Заголовки и библиотеки импорта соответствуют тому, как связаны собственные двоичные файлы Windows.
  • Инструменты, подходящие для образования, конвейеры выпуска с открытым исходным кодом и окна долгосрочного обслуживания.
MinGW alternate logo

Real use cases

Product engineers

Поставляйте библиотеки и исполняемые файлы, которые должны быть четко связаны с ABI Windows, оставаясь при этом близкими к переносимым сценариям сборки GNU.

Administrators of build farms

Стандартизируйте версии компилятора, документируйте макет PATH и уменьшите количество неожиданных обновлений, когда вы контролируете архив, который развертываете на агентах.

Power users and researchers

Скомпилируйте числовые стеки, языковые среды выполнения и утилиты, где воспроизводимые флаги и открытое лицензирование имеют такое же значение, как и чистая скорость.

Сравнение семейства компиляторов на Windows

MinGW — не единственный серьезный вариант. Такое представление высокого уровня поможет вам объяснить заинтересованным сторонам компромиссные решения, не притворяясь, что для каждой рабочей нагрузки есть один победитель.

Topic MinGW style GCC Microsoft MSVC LLVM Clang for Windows
Primary audience Команды, которым нужны флаги GNU и переносимая логика сборки на Windows. Команды глубоко интегрированы с библиотеками Visual Studio и Microsoft. Команды, которым нужна диагностика Clang с гибкими настройками компоновщика.
Distribution model Архивы сообщества, которые вы можете зеркалировать, хешировать и закреплять для каждого выпуска. Стеки, управляемые установщиком, привязанные к каналам обновлений Microsoft. Выпуски LLVM плюс дополнительное сопряжение среды выполнения MSVC.
Typical strength Продуманная поддержка языка GNU и обширные примеры сторонних разработчиков. Первоклассная интеграция Windows SDK для новейших API. Современный статический анализ и быстро меняющиеся возможности языка.

Цифры зависят от типа проекта, выбора компоновщика и уровня оптимизации. Считайте эту таблицу вспомогательным средством планирования, а не заменой профилирования рабочей нагрузки.

Trust and transparency first

Мы публикуем рекомендации по обеспечению целостности, объясняем, почему продукты безопасности иногда не совпадают с архивами компилятора, и документируем, как проверить то, что вы устанавливаете. Если ваша команда безопасности задает сложные вопросы, начните с разделов страницы «Доверие» и «Скачать», посвященных контрольным суммам и подписям.

Community voices

Короткие заметки, основанные на реальных отзывах разработчиков, которые полагаются на наборы инструментов класса MinGW в повседневной работе Windows.

«После нескольких месяцев использования это остается важной частью поддержания чистоты и предсказуемости сборок Windows».
C++ tools engineer
«Мы стандартизировали флаги GCC для CI и ноутбуков для разработчиков. MinGW сделал четность Windows простой».
Build infrastructure lead
«Обучение студентов с помощью прозрачной цепочки инструментов лучше, чем прятать все внутри установщика черного ящика».
University instructor
«Охват заголовков и импорт библиотек сэкономили недели при переносе тяжелой библиотеки POSIX на родной Windows».
Open source maintainer
«После нескольких месяцев использования это остается важной частью поддержания чистоты и предсказуемости сборок Windows».
C++ tools engineer
«Мы стандартизировали флаги GCC для CI и ноутбуков для разработчиков. MinGW сделал четность Windows простой».
Build infrastructure lead
«Обучение студентов с помощью прозрачной цепочки инструментов лучше, чем прятать все внутри установщика черного ящика».
University instructor
«Охват заголовков и импорт библиотек сэкономили недели при переносе тяжелой библиотеки POSIX на родной Windows».
Open source maintainer

Quick answers

Здесь находится краткий FAQ. По юридическим вопросам, вопросам безопасности и крайним случаям перейдите на полную страницу часто задаваемых вопросов.

Заменяет ли MinGW SDK Windows для каждого сценария?

Нет. Дистрибутивы классов MinGW ориентированы на заголовки и библиотеки импорта, подходящие для многих собственных сборок. Некоторые правила магазина Windows, наборы драйверов или новейшие проприетарные API могут по-прежнему требовать использования инструментов Microsoft. Планируйте зависимости заранее.

Почему антивирусные продукты иногда помечают архивы компилятора?

Эвристические сканеры реагируют на упакованные исполняемые файлы, самораспаковывающиеся архивы и поведение инструментальной цепочки, напоминающее общие шаблоны вредоносных программ. Проверяйте хэши, отдавайте предпочтение подписанным артефактам, если они доступны, и читайте руководства для спокойной эскалации проблемы с ИТ-отделом.

Могу ли я использовать несколько установок GCC на одном компьютере?

Можно, но порядок PATH определяет, какой gcc запускается в оболочке. Изолируйте префиксы, используйте явные пути в CI и документируйте версию, которую вы поддерживаете, для воспроизводимых сборок.

Готовы установить закрепленный выпуск?

Выберите пакет, проверьте целостность и следуйте контрольному списку PATH, чтобы все оболочки разработчика согласились использовать один и тот же компилятор.

Open downloads