Как обновить mingw в windows

Обновлено: 06.07.2024

Недавно я устанавливал qt 5.12.0 на свой компьютер и при выборе компилятора MinGW 7.3.0 обнаружил, что в онлайн установщике нет версии MinGW 32bit. Похоже, что 32-битные системы становятся достоянием прошлого и в ближайшем будущем совсем перестанут поддерживаться, соответственно, разработка каких-либо прикладных программ или игр будет не актуальна для 32bit систем для разработчиков. Что же делать, если на работе/дома стоит 32-битная система, либо нужно запустить на такой системе, и Вам необходим подходящий инструменты MinGW? Разберём в этой статье!

Что такое MinGW?

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

MinGW включает в себя:

Программный порт GNU (GCC), включая компиляторы C, C ++, ADA и Fortran;

GNU Binutils для Windows (ассемблер, компоновщик, менеджер архивов).

Установщик командной строки с необязательным интерфейсом GUI (mingw-get) для развертывания MinGW и MSYS в MS-Windows.

Что примечательно, разработка MinGW началась ещё в конце 90-х годов и инструмент назывался MinGW_32, но позже он был переименован.

Сборка исходников

Установка MinGW вручную

Для начала необходимо скачать архив. После этого распакуем папки в архиве по пути установки QT Creator (у меня это C:\Qt).

Папку mingw73_32 распакуем в папку, в названии которой указана версия QT (в данном случае 5.12.0):


Папку mingw730_32 распакуем в папку «tools» в корневой директории QT:


После этого необходимо запустить QT Creator и перейти параметры. И здесь перейти в «Комплекты» и во вкладке «Профили QT» нажать клавишу «Добавить…» с указанием пути к файлу qmake.exe (C:\QT\5.12.0\mingw73_32\bin\qmake.exe). Название профиля можно указать любое, либо как на картинке:


Далее необходимо перейти во вкладку «Компиляторы» и добавить C и C++ компиляторы также нажатием клавиши «Добавить», название можно установить произвольное (либо как на скринах), пути к компиляторам, соответственно, C:\Qt\Tools\mingw730_32\bin\gcc.exe и C:\Qt\Tools\mingw730_32\bin\g++.exe:



Далее во кладке «Отладчики» необходимо также нажать клавишу «Добавить» и также указать путь (C:\Qt\Tools\mingw730_32\bin\gdb.exe):


Последним шагом в установке MinGW будет добавление комплекта. Здесь необходимо указать Компиляторы C и C++, отладчик и профиль Qt, то, что было добавлено на предыдущих шагах.


Поздравляю! Вы добавили MinGW 7.3.0 32bit в QT Creator и теперь сможете компилировать свой проект и для 32 – и для 64 – битных систем Windows. Вы великолепны!

Как изменить компилятор в QT Creator в уже созданном проекте?


После этого, вновь открывайте проект и уже сам Qt Creator предложит вам настроить проект и выбрать комплекты. Можно выбрать два комплекта, например, 32 и 64bit.

MinGW (Minimalist GNU для Windows) - это минималистская среда разработки для приложений Microsoft Windows. MinGW предоставляет полный набор инструментов программирования с открытым исходным кодом, пригодных для разработки собственных приложений MS-Windows, и не зависит от какой-либо сторонней DLL-библиотеки времени выполнения C. MinGW в основном используется разработчиками, работающими на платформе MS-Windows, но также может использоваться на разных платформах.

  1. Порт GCC, включая компиляторы C, C ++, ADA и FORTRAN;
  2. GNU Binutils (например, as, ld, ar и т. Д.);
  3. Установщик командной строки с дополнительным интерфейсом GUI (mingw-get) для развертывания MinGW и MSYS в MS-Windows;
  4. Инструмент начальной настройки графического интерфейса (mingw-get-setup) может помочь запустить и запустить mingw-get.

5656674-fcc29e1416e9379c.jpg

Для установки вы можете использовать Установщик или загрузить следующий сжатый пакет напрямую
Если вы устанавливаете с помощью установщика, загрузите и запуститеMinGW-W64-install.exe
, как показано ниже

5656674-36440f4939d4be7c.jpg

  1. Версия формулирует номер версии, начиная с 4.9.1-8.1.0, выбирайте при необходимости, используйте последнюю версию без особых требований;
  2. Архитектура связана с операционной системой, 64-битные системы выбирают x86_64, 32-битные системы выбирают i686;
  3. Потоки устанавливают нить стандартного опционального posix или win32;
  4. Исключение устанавливает систему обработки исключений, x86_64 может быть seh и sjlj, i686 - dwarf и sjlj;
  5. Номер версии сборки сборки ревизии, выберите самую большую.

При загрузке сжатого пакета выберите подходящее место для его распаковки, добавьте mingw64 / bin в переменную окружения

После добавления переменных среды откройте CMD и выполните gcc -v
Если вы видите похожую информацию, это означает, что установка прошла успешно

Я привык вручную устанавливать GCC из исходного кода на Ubuntu, и это был болезненный процесс. Поэтому я действительно не хочу повторять этот процесс. В настоящее время у меня есть MinGW и GCC (4.6.2), установленные на моей машине. Итак, есть ли простой способ обновить GCC, не создавая его полностью из исходного кода? Кто-нибудь сделал это, прежде чем поделиться своими советами?

спросил(а) 2020-03-11T13:33:16+03:00 1 год, 8 месяцев назад

    Запустить оболочку (cmd или sh)

Обновить список пакетов (необходимо подключение к Интернету):

После этого обновления

После этого ваши пакеты mingw должны быть обновлены до последних версий.

Существует также версия GUI под названием MinGW Installation Manager и расположена типично в

ответил(а) 2020-03-11T13:48:32.060817+03:00 1 год, 8 месяцев назад ответил(а) 2020-03-11T13:33:16+03:00 1 год, 8 месяцев назад

ОБНОВЛЕНИЕ: по состоянию на 5 ноября 2012 года MinGW включает 4.7.2 компилятора GCC, который является самой последней версией. Я лично буду использовать пакет MinGW, так как он включает MSYS и другие инструменты, и поскольку это стандарт defacto, я надеюсь, что он лучше поддерживается. Единственным недостатком является включенная GDB не включает в себя скрипты Python, но я думаю, что их можно обновлять отдельно.

Я не знаю, можете ли вы обновить GCC в MinGW, но есть альтернативные проекты MinGW с более новыми версиями GCC.

Проект MinGW-builds предоставляет пакет, похожий на MinGW, но с обновленным GCC (4.7.2). Я извлек файлы в c:\MinGW (чтобы я мог использовать один и тот же путь) после перемещения моего существующего MinGW в другую папку. Только MinGW имеет MSYS, поэтому, если вам понадобится (я), скопируйте папку msys из исходного MinGW.

После установки MinGW-builds результат g++ -version:

Последний GCC, который поставляется со стандартным MinGW, в настоящее время составляет 4.7.0. Я собрал несколько простых проектов в Code:: Blocks и последний источник wxWidgets, и все, кажется, работает.

Стоит отметить, что MinGW-builds включает в себя версию GDB с поддержкой Python script, если вам нужна поддержка принтера с поддержкой STL или другие функции GDB Python.

Другим хорошим выбором является TDM-GCC, который представляет собой проект, в котором размещается впечатляющий установщик, который включает обновленный компилятор GCC (4.7.1) и инструменты поддержки. Это автономный пакет. Насколько я могу судить, скрипты Python не поддерживаются в GDB, который поставляется с этим пакетом.

Наконец, существует проект MinGW-w64, который является вилкой MinGW. Rubenvb, который отправил ответ на этот вопрос, имеет хорошие автономные пакеты (в папке личных сборок) на основе этого проекта, который включает обновленный GCC (4.7.2). Включенный GDB, по-видимому, включен Python script.

Пост ориентирован на новичков. В нем не рассматривается настройка Visual Studio. Он научит вас настраивать некоторые текстовые редакторы на компиляцию OpenGL приложений, либо выполнять это из консоли вручную.

Итак, для начала нам нужен компилятор — я остановился на G++. Он является частью GCC, а его порт под Windows называется MinGW. С него и начнем:

MinGW

Качаем с официального сайта инсталлятор и запускаем его. Можно выбрать выкачивание свежих пакетов сразу при установке, либо обновить их вручную позже. Компиляторы Fortran, Ada и ObjC нам не понадобятся, их можно не ставить. MSYS Basic System может пригодится, его ставим. В качестве адреса я указал " C:\MinGW ", но если вас это смущает — можете выбрать другой, например, " C:\Program Files\Common Files\MinGW ".

После установки следует добавить к системной переменной PATH две новые папки: " MinGW\bin " и " MinGW\msys\1.0\bin ". Для этого заходим в Пуск -> Панель управления -> Система -> Дополнительные параметры системы; Во вкладке Дополнительно тыкаем внизу кнопку Переменные среды. Из списка системных переменных выбираем Path, и через точку с запятой дописываем полные адреса к папкам " MinGW\bin " и " MinGW\msys\1.0\bin ".

Если вы не выбирали выкачивание свежих пакетов при установке, следует обновить нужные пакеты вручную. Для этого открываем консоль (Win+R -> cmd ), и пишем следующие команды:
Обновит информацию о доступных пакетах,
Отобразит полные имена пакетов gcc и g++,
Обновит эти пакеты до последних доступных для MinGW версий.

Теперь, когда у нас есть компилятор, мы можем приступить к установке необходимых OpenGL библиотек.

Freeglut

Поскольку OpenGL это API, которое относится исключительно к графике — в него не входят функции по созданию окон или обработки устройств ввода. Тем более, решение этой задачи зависит от операционной системы. По-этому ее вынесли в отдельную библиотеку и назвали GLUT — OpenGL Utility Toolkit. Однако, последний релиз этой библиотеки был очень давно и сейчас ее подменила freeglut.

Качаем с официального сайта бинарники под MinGW. Распаковываем, freeglut.dll из папки bin кидаем в " C:\Windows\System32 " (для х86) или " C:\Windows\SysWOW64 " (для х64), или любую другую папку, которая указана в PATH. Содержимое папок include и lib можно скопировать либо в " MinGW\include " и " MinGW\lib " (так будет проще), либо в отдельные созданые папки " MinGW\freeglut\include " и " MinGW\freeglut\lib ".

Библиотека glew позволяет определять что видеокарта поддерживает, а что — нет. Ее установка немного сложнее для нашего случая.
Качаем с официального сайта исходники, поскольку бинарники заточены под Visual Studio и нам не подойдут. Теперь эти исходники нужно скомпилировать. Я в этом практически ничего не понимаю, по-этому обратился к гуглу и нашел помощь здесь:
Распаковываем скачанный архив, открываем консоль, заходим в полученную папку и пишем следующие команды:
В результате в папке lib появилось 3 файла: glew32.dll , glew32.dll.a и glew32.a .
glew32.dll копируем туда же, куда ранее скопировали freeglut.dll , остальные 2 — в папку " MinGW\lib " либо " MinGW\glew\lib ".
Из папки include копируем содерижмое в " MinGW\include " или " MinGW\glew\include ".

Проверяем работоспособность

Создаем минимальный test.cpp:

Обратите внимание на функцию glutInitContextVersion — она завершит выполнение программы если ей не удалось создать контекст для указаной версии OpenGL. Чтобы узнать версию OpenGL, которую поддерживает ваша видеокарта, можно заглянуть в ее спецификацию либо скачать бинарники glew с официального сайта и запустить glewinfo.exe из папки bin . Он сгенерирует файл glewinfo.txt , в котором будет детально расписано что ваша видеокарта поддерживает, а что — нет. Иногда функционал можно расширить установкой более свежего видеодрайвера.

Открываем консоль, заходим в папку с test.cpp и пишем следующую команду:
В случае, если вы создавали отдельные папки freeglut и glew , здесь необходимо дополнительно указать соответствующие дополнительные папки include и lib . Тогда пример команды выглядит так:

Флаг -Wl,--subsystem,windows указывает компилятору что он должен создать графическое приложение, а не консольное.
Если все получилось, должен получится файл test.exe , который при запуске создает белое окно 512х512.

Когда вы захотите поделится своим приложением, убедитесь что вместе с исполняемым файлом передаете используемые библиотеки — freeglut.dll и glew32.dll .

Sublime Text 2

Строчку
дополняем подключением библиотек:

Аналогично, строчку
дополняем до
Если вы создавали отдельные папки под freeglut и glew, эти команды следует дополнить указанием адресов дополнительных папок include и lib .

Для того чтобы Sublime не отказывался выводить кириллицу в свою консоль, после
добавляем

Теперь, когда у нас открыт test.cpp , выбираем Tools -> Build system -> C++ OpenGL.
Нажимаем Ctrl+B для компиляции, Ctrl+Shift+B для компиляции и запуска.

UPD: Когда дело дошло до кода с gl-функциями из последних версий, выяснилось, что подключение заголовочного файла GL/gl.h недостаточно. В нем содержится устаревшая версия 1.1, и этот файл больше не обновляется. В дополнение к нему необходимо подключить GL/glext.h (последнюю версию которого надо скачать отсюда) и GL/wglext.h (отсюда). Для линукса последний файл заменяется GL/glxext.h (ссылка). Скачанными файлами нужно заменить их устаревшие версии по адресу " MinGW/include/GL/ ".

Читайте также: