Product engineers
Поставляйте библиотеки и исполняемые файлы, которые должны быть четко связаны с ABI Windows, оставаясь при этом близкими к переносимым сценариям сборки GNU.
mingw.pro
Поставляйте стандарты C и C++ для целей Win32, используя проверенную цепочку инструментов GNU, тщательно подобранные заголовки и библиотеки импорта, предназначенные для встроенного связывания Windows без принудительного использования среды выполнения Unix в вашем продукте.
Прозрачная упаковка, проверки целостности и практические рекомендации для команд, которые ежедневно компилируют Windows.
Audience
Разработчики и инженеры платформы
Focus
Быстрая итерация на хостах Windows.
MinGW, сокращение от Minimalist GNU для Windows, представляет собой собственный порт Windows коллекции компиляторов GNU в сочетании со свободно распространяемыми библиотеками импорта и заголовками API Windows, что позволяет компилировать и связывать программы, работающие на Microsoft Windows, без необходимости собственный SDK для основных задач разработки.
Более широкая экосистема, включая ветку mingw-w64, расширяет заголовки за пределы исходной области, улучшает соответствие тяжелому математическому коду и добавляет современную целевую поддержку, так что вы можете создавать как 32-битные, так и 64-битные двоичные файлы из одной и той же упорядоченной компоновки цепочки инструментов.
Эти снимки происходят прямо из media папку и покажите знакомый процесс установки Windows. Нажмите на изображение, чтобы просмотреть его в большем размере.
Ознакомьтесь с основными принципами, которые делают make MinGW серьёзным вариантом по сравнению с другими дистрибутивами компилятора Windows.
Сборки на основе GCC с элементами, которые вы ожидаете от серьезных проектов C и C++ на хостах Windows.
Open details
Большая площадь заголовка и библиотеки импорта, которые упрощают нативные ссылки.
Open details
Вспомогательные программы, которые соединяют двоичные файлы Windows и рабочие процессы IDL или файлов определений.
Open details
Поставляйте библиотеки и исполняемые файлы, которые должны быть четко связаны с ABI Windows, оставаясь при этом близкими к переносимым сценариям сборки GNU.
Стандартизируйте версии компилятора, документируйте макет PATH и уменьшите количество неожиданных обновлений, когда вы контролируете архив, который развертываете на агентах.
Скомпилируйте числовые стеки, языковые среды выполнения и утилиты, где воспроизводимые флаги и открытое лицензирование имеют такое же значение, как и чистая скорость.
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. | Современный статический анализ и быстро меняющиеся возможности языка. |
Цифры зависят от типа проекта, выбора компоновщика и уровня оптимизации. Считайте эту таблицу вспомогательным средством планирования, а не заменой профилирования рабочей нагрузки.
Мы публикуем рекомендации по обеспечению целостности, объясняем, почему продукты безопасности иногда не совпадают с архивами компилятора, и документируем, как проверить то, что вы устанавливаете. Если ваша команда безопасности задает сложные вопросы, начните с разделов страницы «Доверие» и «Скачать», посвященных контрольным суммам и подписям.
Короткие заметки, основанные на реальных отзывах разработчиков, которые полагаются на наборы инструментов класса MinGW в повседневной работе Windows.
«После нескольких месяцев использования это остается важной частью поддержания чистоты и предсказуемости сборок Windows».
«Мы стандартизировали флаги GCC для CI и ноутбуков для разработчиков. MinGW сделал четность Windows простой».
«Обучение студентов с помощью прозрачной цепочки инструментов лучше, чем прятать все внутри установщика черного ящика».
«Охват заголовков и импорт библиотек сэкономили недели при переносе тяжелой библиотеки POSIX на родной Windows».
«После нескольких месяцев использования это остается важной частью поддержания чистоты и предсказуемости сборок Windows».
«Мы стандартизировали флаги GCC для CI и ноутбуков для разработчиков. MinGW сделал четность Windows простой».
«Обучение студентов с помощью прозрачной цепочки инструментов лучше, чем прятать все внутри установщика черного ящика».
«Охват заголовков и импорт библиотек сэкономили недели при переносе тяжелой библиотеки POSIX на родной Windows».
Здесь находится краткий FAQ. По юридическим вопросам, вопросам безопасности и крайним случаям перейдите на полную страницу часто задаваемых вопросов.
Нет. Дистрибутивы классов MinGW ориентированы на заголовки и библиотеки импорта, подходящие для многих собственных сборок. Некоторые правила магазина Windows, наборы драйверов или новейшие проприетарные API могут по-прежнему требовать использования инструментов Microsoft. Планируйте зависимости заранее.
Эвристические сканеры реагируют на упакованные исполняемые файлы, самораспаковывающиеся архивы и поведение инструментальной цепочки, напоминающее общие шаблоны вредоносных программ. Проверяйте хэши, отдавайте предпочтение подписанным артефактам, если они доступны, и читайте руководства для спокойной эскалации проблемы с ИТ-отделом.
Можно, но порядок PATH определяет, какой gcc запускается в оболочке. Изолируйте префиксы, используйте явные пути в CI и документируйте версию, которую вы поддерживаете, для воспроизводимых сборок.
Выберите пакет, проверьте целостность и следуйте контрольному списку PATH, чтобы все оболочки разработчика согласились использовать один и тот же компилятор.