Программирование PC Установка MinGW-W64 Thu, April 18 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Установка MinGW-W64 Печать
Добавил(а) microsin   

Система MinGW [1] часто используется как среда для исполнения утилит, пришедших с платформы Unix - make, gcc, g++ и т. д. Они нужны в первую очередь для компилирования приложений на платформе Windows с помощью бесплатных сред разработки (Eclipse, Dev-Cpp, wxDev-C++ и другие). 

Есть порты MinGW для 32-битной и для 64-битной версий Windows. Установка 64-битной версии имеет несколько не очень понятных опций настройки, которые специально рассмотрены в этой статье. 

[Процесс установки MinGW-W64 по шагам]

1. [2] -> Download -> mingw-w64-install.exe, запустите. 

2. На первом экране появится приветствие мастера установки, просто Кликните Next.

MinGW W64 install01

3. Затем появляется важный экран настройки, где нужно выбрать опции системы.

MinGW W64 install02

Architecture: i686 или x86_64. Выберите x86_64, если у Вас современный процессор Athlon или Intel. Если у Вас старый Pentium Pro, Pentium II или Pentium III, то выберите i686. 

Threads: posix или win32. Здесь выбирается GCC Threading model. Что выбрать - единого мнения нет. Если Вам нужно портировать сложные многопоточные приложения из Linux или FreeBSD, то возможно Вам лучше подойдет posix. Я обычно выбираю win32. 

Exception: dwarf, sjlj или seh. Это относится к методике обработки ошибок. Состав выпадающего списка зависит от предыдущих опций.

Dwarf-2 EH. Реализация для Windows сама по себе не разработана для работы в условиях исполнения 64-битны приложений Windows. В режиме win32 вызываемый обработчик исключения не может распространяться на код, не совместимый со стандартом dw2; это означает, что любое исключение, которое происходит через любые "чужие фреймы" non-dw2 приведет к отказу, включая системные DLL Windows и DLL, встроенные в Visual Studio. Раскручивание кода Dwarf-2 в gcc включает инспектирование сборки x86, и оно не может происходить без соответствующей отладочной информации dwarf-2. 

SjLj, SetJump LongJump. Этот метод обработки исключений работает в большинстве случаев на обоих платформах win32 и win64, за исключением сбоев общей защиты (general protection faults). Поддержка структурированной обработки ошибок разработана для gcc с целью преодолеть недостатки dw2 и sjlj. На платформе win64, информация отката размещается в секции xdata и в .pdata (таблица описания функции) вместо стека. Для win32 цепочка обработчиков сохраняется в стеке, и нуждается в сохранении/восстановлении с помощью реально выполняющегося кода. 

GCC поддерживает два метода обработки исключений (EH):

DWARF-2 (DW2) EH, который требует наличия в выполняемом коде отладочной информации DWARF-2 (или DWARF-3). DW-2 EH может привести к некоторому разрастанию размера исполняемого кода, потому что в код добавляется большие таблицы отката по содержимому стека.

SJLJ. Этот метод базируется на setjmp/longjmp (SJLJ). Он несколько медленнее, чем DW2 EH (влияет даже на нормальное выполнение, когда не срабатывают исключения), однако он может работать поверх кода, который не был скомпилирован GCC, или в котором нет информации о истории вызовов через стек (call-stack unwinding information). 

Structured Exception Handling (SEH). Windows использует свой собственный механизм обработки исключений, известный как Structured Exception Handling (SEH). К сожалению, GCC пока его не поддерживает. Однако обещается, что для x64 в появится поддержка SEH начиная с версии  GCC 4.8.

См. также: 

Exception handling models of GCC site:stackoverflow.com
C++ Exception Handling for IA-64 site:static.usenix.org
EH newbies howto gcc.gnu.org
MinGW 64 bit Exception handling: SJLJ, DWARF, and SEH site:qt-project.org

Я выбрал для своей установки вариант seh. 

4. На этом шаге нужно просто выбрать каталог установки. Оставьте все по умолчанию. 

MinGW W64 install03

5. Запустится процесс закачки, который займет некоторое время. 

MinGW W64 install04

По окончании загрузки нажмите Next и после окончания копирования Finish. 

MinGW W64 install05 

Если Вы хотите, чтобы утилиты из каталога c:\Program Files\mingw-w64\x86_64-4.9.2-win32-seh-rt_v3-rev1\mingw64\bin\ запускались без ввода полного пути, то добавьте этот каталог в пути поиска (в переменную окружения %Path%). 

[Ссылки

1. Mingw-w64 - GCC for Windows 64 & 32 bits site:mingw-w64.sourceforge.net.
2. MinGW-w64 - for 32 and 64 bit Windows site:sourceforge.net.

 

Комментарии  

 
+15 #1 Khusrav 16.09.2016 16:47
У меня ошибка при установке mingw-w64-install. Ошибка: cannot download repository.txt. И не открывается второе окно. У меня Windows 7 64х.
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Top of Page