«Гопник-2»: попробовал под Windows
В моём иррациональном увлечении дописыванием «Гопника-2» есть и практическая сторона — получаю много интересного нового опыта. Вчера как раз был такой случай.
Стало интересно посмотреть — соберётся ли игра под Виндоуз. В конце концов она консольная, чего бы ей не заработать?
Раньше я таким не занимался, но из виндового прошлого я помню, что способы есть. Простых нагуглилось два — среда cygwin и набор инструментов mingw.
Через cygwin всё скомпилировалось и запустилось вообще без проблем, но у такого решения есть фатальный недостаток — собирать приходится в виртуальной машине с Виндоузом.
Набор mingw выглядит с этой точки зрения интереснее — есть и под мой «Мак», но там нет совместимости с «посикс», поэтому часть работы с терминалом не собралась, — проблемы с функциями tcsetattr и tcgetattr. Меня теперь так и подмывает отложить в сторону все планы и попробовать затащить игру ещё и Виндоуз, переписав эти два места.
Кстати, надо не забыть попробовать это сделать через ChatGPT. Я уже делал с ним несколько «подходов к снаряду», но каждый раз опыт был не очень. Например, пытался разобраться с тем как работать io_uring, рабочий пример так и не удалось получить. Но сейчас вышла новая версия, можно попробовать ещё раз.
Есть WSL, оно же «Windows Subsystem for Linux». Поверх которой можно поставить полноценную Ubuntu, или Debian, или ещё что-нибудь.
Я знаю, но для конечного пользователя как будто очень сложно. Хотелось быть иметь запускаемые файл, который просто работает.
Сейчас на linux’овой машине скомпилировал простейшую программку на c++ `cout << «Hello World!»` и скопировал на виндовую машину — всё прекрасно в WSL запустилось.
WSL разве по-умолчанию стоит?
Увы, нет. Как и cygwin/mingw, хотя их можно, как понимаю, вместе с «гопником» на целевую машину прозрачно для пользователя поставить.
Я надеялся, что в случае mingw ничего ставить не придётся. Это не так?
Добавлено: попробовать вырезать неподдерживаемые mingw куски и запустить, требуется две dll, нет времени их положить и попробовать (пауза на работе кончилась), но думаю, если их положить рядом, всё запустится.
Не так :-(
Но WSL как бы «родной» компонент для Win, его можно просто доставить. Или просто из Windows Store поставить Ubuntu/Debian.
Но добавить несколько dll из дистрибутива — это, конечно, проще.
Надо бы разобраться в теме как сделать так, чтобы вообще ничего добавлять не надо было.