«Гопник-2»: попробовал под Windows

В моём иррациональном увлечении дописыванием «Гопника-2» есть и практическая сторона — получаю много интересного нового опыта. Вчера как раз был такой случай.

Стало интересно посмотреть — соберётся ли игра под Виндоуз. В конце концов она консольная, чего бы ей не заработать?

Скриншот терминала Cygwin: меню игры «Выбери, чё те надо» с опциями начать/загрузить/выйти, сюжет про студента в Питере и диалог с комендантом.
Игра «Гопник-2», собранная и запущенная через cygwin под Windows Server 2019

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

Через cygwin всё скомпилировалось и запустилось вообще без проблем, но у такого решения есть фатальный недостаток — собирать приходится в виртуальной машине с Виндоузом.

Набор mingw выглядит с этой точки зрения интереснее — есть и под мой «Мак», но там нет совместимости с «посикс», поэтому часть работы с терминалом не собралась, — проблемы с функциями tcsetattr и tcgetattr. Меня теперь так и подмывает отложить в сторону все планы и попробовать затащить игру ещё и Виндоуз, переписав эти два места.

Кстати, надо не забыть попробовать это сделать через ChatGPT. Я уже делал с ним несколько «подходов к снаряду», но каждый раз опыт был не очень. Например, пытался разобраться с тем как работать io_uring, рабочий пример так и не удалось получить. Но сейчас вышла новая версия, можно попробовать ещё раз.

Комментарии 8

Perigrin Puk № 1
Есть WSL, оно же «Windows Subsystem for Linux». Поверх которой можно поставить полноценную Ubuntu, или Debian, или ещё что-нибудь.
Евгений Степанищев автор № 2
Я знаю, но для конечного пользователя как будто очень сложно. Хотелось быть иметь запускаемые файл, который просто работает.
Perigrin Puk № 5
WSL разве по-умолчанию стоит?

Увы, нет. Как и cygwin/mingw, хотя их можно, как понимаю, вместе с «гопником» на целевую машину прозрачно для пользователя поставить.

Евгений Степанищев автор № 6
Я надеялся, что в случае //mingw// ничего ставить не придётся. Это не так?

//Добавлено//: попробовать вырезать неподдерживаемые //mingw// куски и запустить, требуется две //dll//, нет времени их положить и попробовать (пауза на работе кончилась), но думаю, если их положить рядом, всё запустится.
Perigrin Puk № 7
Я надеялся, что в случае mingw ничего ставить не придётся. Это не так?

Не так :-(
Но WSL как бы «родной» компонент для Win, его можно просто доставить. Или просто из Windows Store поставить Ubuntu/Debian.

Но добавить несколько dll из дистрибутива — это, конечно, проще.

Евгений Степанищев автор № 8
Надо бы разобраться в теме как сделать так, чтобы вообще ничего добавлять не надо было.