Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
msys2_mingw [2020/04/25 12:54] – [OpenGL через SDL] adminmsys2_mingw [2020/04/25 23:05] – [OpenGL через SDL] admin
Line 9: Line 9:
 и они зачахли где-то в районе 2015. и они зачахли где-то в районе 2015.
  
-**ПРИМЕЧАНИЕ:** Надеюсь, читатели понимают разницу между **[[https://ru.wikipedia.org/wiki/Cygwin|Cygwin]]** и **[[https://ru.wikipedia.org/wiki/MinGW|Mingw]]**. Кратко: **Cygwin** пытается воссоздать наиболее полную "среду" UNIX/POSIX на Windows, со всеми её фишками, типа //fork()//, особенностей файловой системы, сигналами, псевдотерминалами и т.д. в то время как **Mingw** - это (изначально) просто перенос компилятора **GCC** на Windows, без вот этого всего. А **MSYS** - это набор утилит для сборки программ, главная из которых - пожалуй ''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**.
-Он делает замену путей в стиле UNIX, маскирует расширение *.exe,+Подобно **Cygwin** он делает замену путей в стиле UNIX, маскирует расширение *.exe,
 поддерживает псевдотерминалы, UNIX-сигналы и еще много чего. Это, с одной стороны, облегчает перенос и build-инг поддерживает псевдотерминалы, UNIX-сигналы и еще много чего. Это, с одной стороны, облегчает перенос и build-инг
-всяких кривых UNIX программ, с другой стороны, все msys-программы теперь тянут за собой+всяких нетривиальных UNIX программ, с другой стороны, все msys-программы теперь тянут за собой
 DLL-ку: ''msys-2.0.dll'' . DLL-ку: ''msys-2.0.dll'' .
  
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]]**)
-но зато с закладками (Tabs). На самом деле, есть еще третий вид терминала (defterm), но он пока +но зато с закладками (Tabs). На самом деле, есть еще третий вид терминала (defterm), но он не совсем поддерживается... 
-не поддерживается... [[https://github.com/msys2/msys2/wiki/Terminals|Подробности]].+[[https://github.com/msys2/msys2/wiki/Terminals|Подробности]].
 Чтобы запустить **MSYS2** c нужным терминалом, надо стартовый ''msys2_shell.cmd'' запустить с нужным Чтобы запустить **MSYS2** c нужным терминалом, надо стартовый ''msys2_shell.cmd'' запустить с нужным
 ключиком. По-умолчанию запускается **Mintty**. ключиком. По-умолчанию запускается **Mintty**.
  
 Да, сама **MSYS2** тоже бывает 32-битная и 64-битная. К счастью на сайте **MSYS2** есть нужный инсталлятор, Да, сама **MSYS2** тоже бывает 32-битная и 64-битная. К счастью на сайте **MSYS2** есть нужный инсталлятор,
-(''msys2-i686'' или ''msys2-x86_64'') огромный файл, у которого внутри целый архив соответствующих программ.+(''msys2-i686'' или ''msys2-x86_64''огромный файл, у которого внутри целый архив соответствующих программ.
 **MSYS2** 32-битная ставится в ''C:\msys32'', 64-битная - в ''C:\msys64''. Можете попробовать поменять имя, **MSYS2** 32-битная ставится в ''C:\msys32'', 64-битная - в ''C:\msys64''. Можете попробовать поменять имя,
 но тогда никто ничего не гарантирует... Но вот беда - инсталлятор старый и первое, что нужно сделать - но тогда никто ничего не гарантирует... Но вот беда - инсталлятор старый и первое, что нужно сделать -
Line 135: Line 135:
 ==== SDL ==== ==== SDL ====
  
-Если мы хотим быть современными динамичными программистами, то лучше писать на каком-нибудь+Если мы хотим быть современными молодыми динамичными программистами, то лучше писать на каком-нибудь
 Framework (как етто по рюски? Каркас?). Например, очень большое число разных эмуляторов Framework (как етто по рюски? Каркас?). Например, очень большое число разных эмуляторов
 винтажных систем написано на **[[https://www.libsdl.org/|SDL]]**.  винтажных систем написано на **[[https://www.libsdl.org/|SDL]]**. 
  
-По **SDL** в сети просто огромное число примеров, туториалов, введений и т.д. **SDL** рисует,+По **SDL** в сети гуляет просто огромное число примеров, туториалов, введений и т.д. **SDL** рисует,
 поёт, поддерживает джойстик и сеть, может быть даже варит кофе... Текущая версия: **SDL2**. поёт, поддерживает джойстик и сеть, может быть даже варит кофе... Текущая версия: **SDL2**.
 Давайте поставим себе **SDL2** вместе со всеми её запчастями :\\ Давайте поставим себе **SDL2** вместе со всеми её запчастями :\\
Line 197: Line 197:
  
 Давайте просто подключим вывод в свою командную строку (это делается с помощью Давайте просто подключим вывод в свою командную строку (это делается с помощью
-обратного апострофа: **`** . Читается как "Использовать ВЫВОД команды" )+обратного апострофа: **`** . Читается как "Использовать ВЫВОД команды". Подробности в ''man bash'' секция "Command Substitution" )
   $ gcc -o hellosdl hellosdl.c `sdl2-config --cflags --libs`   $ gcc -o hellosdl hellosdl.c `sdl2-config --cflags --libs`
 Если мы попытаемся теперь запустить эту программу из CMD.EXE, мы получим ошибку:\\ Если мы попытаемся теперь запустить эту программу из CMD.EXE, мы получим ошибку:\\
Line 271: Line 271:
 Наконец, существует возможность - использовать уже знакомую нам SDL для "склейки" операционной Наконец, существует возможность - использовать уже знакомую нам SDL для "склейки" операционной
 системы и OpenGL. Это намного удобнее т.к. в SDL имеются функции ввода, управления системы и OpenGL. Это намного удобнее т.к. в SDL имеются функции ввода, управления
-манипуляторами, звуком и т.д. и самое главное - обе библиотеки кросс-платформенные.+манипуляторами, звуком, сетью и т.д. и самое главное - обе библиотеки кросс-платформенные.
  
 <to be continued...> <to be continued...>
Navigation