Как можно использовать mingw-w64 и MSYS2 с любой IDE, такой как eclipse или кодовые блоки?

  1. Я устанавливаю msys2 с помощью здесь.

  2. Я загружаю i686-5.3.0-release-posix-dwarf-rt_v4-rev0 с здесь.

  3. после установки msys2-i686-20160205.exe извлеките i686-5.3.0-release-posix-dwarf-rt_v4-rev0 в C: \ msys32 .

  4. наконец, я запускаю MinGW-w64 Win32 Shell из меню «Пуск» и запускаю эти команды соответственно:

    • pacman - Sy pacman

    • pacman -Syu

    • pacman-Su

  5. Добавьте C: \ msys32 \ mingw32 \ bin в ПУТЬ.

мой вопрос:

  1. для использования mingw-w64 с любой IDE, правда ли?
  2. какая разница между MinGW-w64 Win32 Shell и MSYS2 Shell?

Заранее спасибо.


person niksirat    schedule 01.05.2016    source источник


Ответы (2)


Бывший пользователь msys2 и arch linux здесь, в настоящее время учится в колледже, где класс использует кодовые блоки в качестве стандартной метрики для определения того, работает программа или нет, и я думаю, что могу вам здесь помочь.

Основная суть заключается в том, что вы хотите установить msys2 как обычно, а также кодовые блоки, а затем использовать настройки кодовых блоков, чтобы настроить ваш компилятор на использование компилятора msys2 mingw-w64. Еще не запутались? В целом это довольно просто.

  1. Установите кодовые блоки. Используйте установщик с уже установленным mingw, позже мы скопируем кое-что из набора инструментов по умолчанию.
  2. Установите msys2 (место установки по умолчанию подходит, C:\msys64 для 64-разрядной версии и я думаю C:\msys32 для 32-разрядной версии; в оставшейся части этого руководства мы будем использовать 64-разрядную версию). Обратите внимание на то, где бы вы его ни установили, он нам понадобится позже.
  3. откройте приглашение msys2 msys
  4. обновить msys2 (процесс состоит из двух частей, потому что Windows не может легко заменить используемый файл) $ pacman -Syu; он обновит небольшое подмножество доступных пакетов и попросит вас закрыть окно.
  5. завершить обновление msys2 $ pacman -Syu; на этот раз список будет намного больше.
  6. установить base-devel группу пакетов $ pacman -Syu base-devel; он предложит вам список пакетов в группе. Вы хотите пропустить сам pacman, иначе он будет иметь то же обновление, состоящее из двух частей. В прошлый раз, когда я это проверил, pacman был под номером 39 в списке, поэтому вы должны указать 1-38,40-56, что нужно установить (с поправкой на то, что $currentdate предлагает вам, это не всегда может быть 39).
  7. установите набор инструментов mingw-w64 pacman -Syu mingw-w64-x86_64-toolchain, он снова предложит вам выбор пакетов, вы хотите, чтобы они были все, поэтому просто нажмите Enter. Если вам нужен 32-битный набор инструментов, вы должны использовать pacman -Syu mingw-w64-i686-toolchain.
  8. Открытые кодовые блоки. Если это ваш первый запуск, он спросит вас об ассоциациях файлов, настройках и т. Д. Установите те, которые вам нравятся.
  9. В строке меню нажмите Настройки-> Компилятор. По умолчанию должно быть установлено значение GNU GCC Compiler. Под этим параметром должна быть кнопка для его копирования. Дайте новому профилю компилятора описательное имя (я выбрал MSYS2 mingw-w64-x86_64 G++. Он предложит вам обновить исполняемые файлы инструментальной цепочки.
  10. На экране компилятора есть вкладка с именем Toolchain executables, щелкните ее. Установите Compiler's installation directory в то место, где вы установили msys2 на + либо mingw64 для 64-битной цепочки инструментов, либо mingw32 для 32-битной цепочки инструментов. Предполагая, что место установки по умолчанию и 64-битный набор инструментов, это должно быть C:\msys64\mingw64.
  11. Ниже измените имена всех параметров в Program Files, чтобы удалить префикс mingw32-, за исключением Make program, который должен оставаться mingw32-make.exe. Все остальное должно иметь плоские имена (_20 _, _ 21_ и т. Д.).
  12. Необязательно: установите этот новый компилятор по умолчанию. Вы можете сделать это из того же Settings->Compiler окна.

Я создал youtube видео, показывающее весь процесс, поскольку я еще не видел это задокументировано где-нибудь в Интернете.

person hanetzer    schedule 03.11.2018
comment
Для меня программа mingw32-make.exe находится в отдельном пути: C:\msys64\mingw64\bin, который я добавил на подвкладке "Дополнительные пути". Не знаю, приведет ли это к тому, что это будет работать, пока я пишу это .. - person Alex Hall; 27.12.2019

У меня тоже был вопрос №2: «какая разница между оболочкой Win32 MinGW-w64 и оболочкой MSYS2?». Я нашел ответ на этой официальной странице вики. Исходное полное форматирование см. На исходной странице. Вот соответствующая часть страницы, по состоянию на 9 августа 2017 года.

Подсистемы MSYS2

MSYS2 состоит из трех подсистем и соответствующих им репозиториев пакетов: msys2, mingw32 и mingw64.

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

Подсистема msys2 предоставляет эмулируемую среду, в основном совместимую с POSIX, для создания программного обеспечения, управления пакетами и написания сценариев оболочки. Эти программы находятся в виртуальной однокорневой файловой системе (корнем является установочный каталог MSYS2). Некоторые усилия прилагаются к тому, чтобы программы хорошо работали с собственными программами Windows, но это не безупречно.

Каждая из подсистем предоставляет свой собственный набор инструментов компилятора (т.е. target = host) в msys2-devel, mingw-w64-i686-toolchain и mingw-w64-x86_64-toolchain. Существуют также наборы инструментов кросс-компилятора с host = {i686, x86_64} -pc-msys и target = {i686, x86_64} -w64-mingw32 в mingw-w64-cross-toolchain, но они имеют ограниченное применение из-за отсутствия библиотеки пакеты для них.

Снаряды

Каждая подсистема имеет связанную «оболочку», которая, по сути, представляет собой набор переменных среды, которые позволяют подсистемам правильно взаимодействовать. Эти оболочки можно вызвать с помощью программ запуска в каталоге установки MSYS2 или с помощью ярлыков в меню «Пуск» Windows. Пусковые установки устанавливают переменную MSYSTEM и открывают окно терминала (mintty) с соответствующей оболочкой (bash). Bash, в свою очередь, создает / etc / profile, который устанавливает среду в зависимости от значения MSYSTEM. Без правильной среды различные вещи могут и будут (иногда тихо) сломаться. Исключением является использование подсистем mingw из чистой Windows, для которой не требуется какой-либо специальной среды, кроме записи в PATH. Не устанавливайте MSYSTEM вне оболочек, потому что это тоже сломает работу.

person silviubogan    schedule 09.08.2017