Пишу, по большей части, про историю, свою жизнь и немного про программирование. Живу в Казани.

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

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

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

Игра «Гопник-2», собранная и запущенная через cygwin под Windows Server 2019

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

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

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

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

4 комментария
Perigrin Puk 10 мес

Есть WSL, оно же «Windows Subsystem for Linux». Поверх которой можно поставить полноценную Ubuntu, или Debian, или ещё что-нибудь.

Евгений Степанищев 10 мес

Я знаю, но для конечного пользователя как будто очень сложно. Хотелось быть иметь запускаемые файл, который просто работает.

Perigrin Puk 10 мес

Есть WSL...

Сейчас на linux’овой машине скомпилировал простейшую программку на c++ `cout << «Hello World!»` и скопировал на виндовую машину — всё прекрасно в WSL запустилось.

Евгений Степанищев 10 мес

WSL разве по-умолчанию стоит?

Perigrin Puk 10 мес

WSL разве по-умолчанию стоит?

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

Евгений Степанищев 10 мес

Я надеялся, что в случае mingw ничего ставить не придётся. Это не так?

Добавлено: попробовать вырезать неподдерживаемые mingw куски и запустить, требуется две dll, нет времени их положить и попробовать (пауза на работе кончилась), но думаю, если их положить рядом, всё запустится.

Perigrin Puk 10 мес

Я надеялся, что в случае mingw ничего ставить не придётся. Это не так?

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

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

Евгений Степанищев 10 мес

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