Есть пример кода, на следующих технологиях.
C++, Boost (system, filesystem), SDL, sockets, система сборки CMake.
Собирается и работает под Ubuntu.
Требуется собрать под Windows 10 на уровне "лишь бы хоть как-то заработало".
Как это сделать с минимальными изменениями в коде?
Пробовал cygwin, но с полпинка работать не захотело. А именно, в cygwin я поставил Boost и SDL, но CMake из под cygwin отказывается находить Boost и SDL.
LVV>>Msys2? I>Выглядит обещающе, а нет ли более эффективного способа собрать дистрибутив, чем наковырять зависимостей с помощью ntldd?
Знаешь, понятия не имею.
Я когда-то поставил на винде, чтобы въехать в типовые вещи линукс, и оно таки помогло.
Теперь я это пишу из Альт Линукс и могу сказать, что консоль в msys2 хорошо эмулируется.
MinGW из коробки и POSIX тоже.
Но больших проектов собирать не приходилось, только небольшие учебные.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Портировать C++ с Linux x86_64 на Windows 10 x86_64
I>Пробовал cygwin, но с полпинка работать не захотело. А именно, в cygwin я поставил Boost и SDL, но CMake из под cygwin отказывается находить Boost и SDL.
Так ты укажи симэйку где лежат Boost и SDL
Здравствуйте, ioctl, Вы писали:
I>>netdb.h не находит, а еще консольный вывод не отображается. I>Т.е. как будто Беркли сокеты не поддержаны.
MS чутка по другому сокетные заголовки называет — можно разрулить условной компиляцией. Плюс кое-какие отличия есть в структурах/контрактах — но это удавалось обходить тоже.
Здравствуйте, ioctl, Вы писали:
I>Есть пример кода, на следующих технологиях. I> I>C++, Boost (system, filesystem), SDL, sockets, система сборки CMake.
I>Собирается и работает под Ubuntu.
I>Требуется собрать под Windows 10 на уровне "лишь бы хоть как-то заработало".
WSL2 не вариант?
Re: Портировать C++ с Linux x86_64 на Windows 10 x86_64
Здравствуйте, ioctl, Вы писали:
I>Есть пример кода, на следующих технологиях. I> I>C++, Boost (system, filesystem), SDL, sockets, система сборки CMake.
Я бы пошёл путём msvc+cmake+vcpkg (sdl/boost порты в vcpkg есть).
Сетевой уровень или придётся сделать под условной компиляцией (в винде хидеры и апи отличаетя), или (как сделал бы я) заменить на какую-то прослойку. Коль скоро в проекте есть SDL, то можно взять их же SDL_NET (тоже есть порт в vcpkg).
vcpkg поддерживается и на linux, хорошо интегрируется с CMake.