Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
msys2_mingw [2022/02/01 00:59] adminmsys2_mingw [2022/02/01 01:05] admin
Line 11: Line 11:
 **ПРИМЕЧАНИЕ:** Надеюсь, читатели понимают разницу между **[[https://ru.wikipedia.org/wiki/Cygwin|Cygwin]]** и **[[https://ru.wikipedia.org/wiki/MinGW|Mingw]]**. Кратко: **Cygwin** пытается воссоздать наиболее полную "среду" UNIX/POSIX на Windows, со всеми её фишками, типа //fork()//, особенностей файловой системы, сигналами, псевдотерминалами и т.д. в то время как **Mingw** - это (изначально) просто перенос компилятора **GCC** на Windows, без вот этого всего. А **MSYS** - это набор утилит для сборки, главные из которых - пожалуй ''make'' и ''bash''. [[https://github.com/msys2/msys2/wiki/How-does-MSYS2-differ-from-Cygwin|Подробности]]. **ПРИМЕЧАНИЕ:** Надеюсь, читатели понимают разницу между **[[https://ru.wikipedia.org/wiki/Cygwin|Cygwin]]** и **[[https://ru.wikipedia.org/wiki/MinGW|Mingw]]**. Кратко: **Cygwin** пытается воссоздать наиболее полную "среду" UNIX/POSIX на Windows, со всеми её фишками, типа //fork()//, особенностей файловой системы, сигналами, псевдотерминалами и т.д. в то время как **Mingw** - это (изначально) просто перенос компилятора **GCC** на Windows, без вот этого всего. А **MSYS** - это набор утилит для сборки, главные из которых - пожалуй ''make'' и ''bash''. [[https://github.com/msys2/msys2/wiki/How-does-MSYS2-differ-from-Cygwin|Подробности]].
  
-Текущая версия **MSYS** - это **[[https://www.msys2.org/|MSYS2]]**. Это такой странный гибрид+Оказывается, нынче текущая версия **MSYS** - это **[[https://www.msys2.org/|MSYS2]]**. Это такой странный гибрид
 из **Cygwin** и старого **MSYS**. из **Cygwin** и старого **MSYS**.
 Подобно **Cygwin** он делает замену путей в стиле UNIX, маскирует расширение *.exe, Подобно **Cygwin** он делает замену путей в стиле UNIX, маскирует расширение *.exe,
 поддерживает псевдотерминалы, UNIX-сигналы и еще много чего. Это, с одной стороны, облегчает перенос и build-инг поддерживает псевдотерминалы, UNIX-сигналы и еще много чего. Это, с одной стороны, облегчает перенос и build-инг
-всяких нетривиальных UNIX программ, с другой стороны, все msys-программы теперь тянут за собой+всяких нетривиальных UNIX программ, а с другой стороны, все msys-программы, в отличии от старого **MSYS** теперь тянут за собой
 DLL-ку: ''msys-2.0.dll'' . DLL-ку: ''msys-2.0.dll'' .
  
-Компилятор с тулзами теперь называется **[[http://mingw-w64.org/|Mingw-w64]]**. Это вовсе не значит, что он 64-битный, +А компилятор с тулзами нынче называется **[[http://mingw-w64.org/|Mingw-w64]]**. Это вовсе не значит, что он 64-битный, 
-это просто __такое имя__. Он существует во всех возможных комбинациях: 32-битный (т.е. работающий на 32-бит винде)+это просто __такое имя__. Он существует во всех возможных комбинациях: 32-битный (т.е. работающий на 32-бит Windows)
 для билда 32-битных программ, 64-битный для билдинга 64-битных программ, и все промежуточные для билда 32-битных программ, 64-битный для билдинга 64-битных программ, и все промежуточные
 варианты, то есть 32-битный для построения 64-битных и наоборот, 64-битный для 32-бит. варианты, то есть 32-битный для построения 64-битных и наоборот, 64-битный для 32-бит.
Line 25: Line 25:
 Вы еще не запутались ? Держитесь, это только начало... :) Вы еще не запутались ? Держитесь, это только начало... :)
  
-**MSYS2** теперь поддерживает два вида терминалов (т.е. тула для отрисовки) - один новомодный **[[https://en.wikipedia.org/wiki/Mintty|Mintty]]**,+**MSYS2** теперь поддерживает два вида терминалов (т.е. программ для отрисовки "текстового" экрана) - один новомодный **[[https://en.wikipedia.org/wiki/Mintty|Mintty]]**,
 утащенный с того же **Cygwin**, который типа лучше поддерживает механизмы терминала UNIX, но опять утащенный с того же **Cygwin**, который типа лучше поддерживает механизмы терминала UNIX, но опять
 же, тянет за собой всякое... Другой - почти классическая Windows консоль почти без обвеса (**[[https://ru.wikipedia.org/wiki/ConEmu|ConEmu]]**) же, тянет за собой всякое... Другой - почти классическая Windows консоль почти без обвеса (**[[https://ru.wikipedia.org/wiki/ConEmu|ConEmu]]**)
Line 41: Line 41:
 И запустить ''pacman -Syuu'' еще раз. И запустить ''pacman -Syuu'' еще раз.
  
-**ПРИМЕЧАНИЕ:** С мая 2020 2-битную **MSYS2** стали [[https://www.msys2.org/news/#2020-05-17-32-bit-msys2-no-longer-actively-supported|потихоньку сворачивать]]. Она все еще поддерживается, пакеты для нее выходят, но начальный инсталлятор для 32-битной версии убрали с главной стравницы [[http://repo.msys2.org/distrib/i686/|сюда]]. Следите за [[https://www.msys2.org/news/|новостями]].+**ПРИМЕЧАНИЕ:** С мая 2020 2-битную **MSYS2** стали [[https://www.msys2.org/news/#2020-05-17-32-bit-msys2-no-longer-actively-supported|потихоньку сворачивать]]. Она все еще поддерживается, пакеты для нее выходят, но начальный инсталлятор для 32-битной версии **MSYS2** убрали с главной стравницы [[http://repo.msys2.org/distrib/i686/|сюда]]. Следите за [[https://www.msys2.org/news/|новостями]].
  
 Вы еще тут ? Я еще держусь, но с трудом... :) Вы еще тут ? Я еще держусь, но с трудом... :)
Line 55: Line 55:
 Так что на самом деле у нас бывает (как минимум!) __ТРИ__ build системы: ''msys2'', ''mingw32'' и ''mingw64''. Так что на самом деле у нас бывает (как минимум!) __ТРИ__ build системы: ''msys2'', ''mingw32'' и ''mingw64''.
 Все три ставить не обязательно. Например, если нам надо только собирать "чистые" 32-битные программы Все три ставить не обязательно. Например, если нам надо только собирать "чистые" 32-битные программы
-на 32-битной винде то можно поставить 32-битную **MSYS2** без её компиляторов и build-систему ''mingw32''.+на 32-битной винде то можно поставить 32-битную **MSYS2** без её собственных компиляторов и build-систему ''mingw32''.
 (как понимаете, на самом деле это будет 32-битный компилятор **Mingw-w64** работающий под 32-битной **MSYS2** и который умеет (как понимаете, на самом деле это будет 32-битный компилятор **Mingw-w64** работающий под 32-битной **MSYS2** и который умеет
 делать 32-битные "чистые" программы под Windows. Надеюсь крыша у вас еще не поехала...) делать 32-битные "чистые" программы под Windows. Надеюсь крыша у вас еще не поехала...)
Line 63: Line 63:
 Установщик ''pacman'' знает про себя, 32-бита он или 64, берёт правильные пакеты и ставит Установщик ''pacman'' знает про себя, 32-бита он или 64, берёт правильные пакеты и ставит
 в правильный каталог. Репозиторий для любой **MSYS2** всегда называется просто ''msys2'' :) в правильный каталог. Репозиторий для любой **MSYS2** всегда называется просто ''msys2'' :)
-Компилятор для **MSYS2** в base-devel не входит, да он нам и не нужен.+Компилятор для самой **MSYS2** в base-devel не входит, да он нам и не нужен.
  
 {{ start-menu.jpg?nolink|MSYS2 Menu}} {{ start-menu.jpg?nolink|MSYS2 Menu}}
Line 73: Line 73:
 Вот только никакого компилятора не появится! Вот только никакого компилятора не появится!
  
-Чтобы воспользоваться нужным компилятором, надо запустить нашу **MSYS2** особым образом.+Чтобы воспользоваться нужным компилятором, надо __запустить__ нашу **MSYS2** особым образом.
 Если вы откроете кнопку Пуск --> Все программы --> "MSYS2 32bit" то увидите __три__ разных "среды": Если вы откроете кнопку Пуск --> Все программы --> "MSYS2 32bit" то увидите __три__ разных "среды":
 "MSYS2 MinGW 32bit", "MSYS2 MinGW 64bit" и "MSYS2 MSYS". По крайней мере, на Windows7 так, "MSYS2 MinGW 32bit", "MSYS2 MinGW 64bit" и "MSYS2 MSYS". По крайней мере, на Windows7 так,
Navigation