Thursday October 26 2023 20:54, from Max Vasilyev -> Alexander Kruglikov:
MV> Под винду x86 и x64 и дос положил где обычно. MV> Под полуось сборка сломалась :-\ Виталию багрепорт мылом ушел.
Одно дело собирать, другое на таргете запускать. Я понимаю Mac/Win/Linux/FreeLSD, это мастхев. Но ДОС? ОС2? Хотя, давайте пройдёмся аккуратно по win/linu/mac сначала.
Linux. Собирать под него бинарные бинира - не благодарное дело. Либо мы делаем static binary, который кладут куда-то в /opt/... или даже shell скрипт есть, который внутри себя несколько версий имеет, и сможет нужный бинарь положить, но это всё криво. Собирать под Ubuntu? CentOS? Fedora? Mint? Ну, надо напилить несколько виртуалок с последней и предпоследней версией каждого из этих дистрибутивов и собирать. Гемор ещё тот. А если у кого-то более старая убунта, то всё.
Mac. Я уже тут собирал на-попробовать для Фёдорова, окалалось, что у него на работе старый макос, но всё решилось строчкой в cmake -> set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15"), и это превращается в g++ -target arm64-apple-macos10.15 и -mmacosx-version-min=... А дальше сделать .dmg? Вроде cmake умеет CPackDMG.
Windows. Как я понимаю, собирать можно студией, или mingw/mingw64, или llvm-mingw (тут даже под Win ARM можно собрать, например, у кого Mac на M1 чипе, и под виртуалкой пускать), или Open Watcom2.0, или билдером, или.. их много. Вопрос, кому нужна сборка под Win95? А под WinXP? С 2000ой всё лучше уже, или с 7ки, не помню. Там и терминал уже по-другому работает, там можно юникодные функции, там можно размер экрана на ходу менять. Проблема - если кашено собирать под WinXP, то нужон MSVC6, а там c++11 не пахнет, а это боль.
OS/2. Кто реально запускает? Или собирать просто чтобы было? Чем собираем, Open Watcom 2.0? Там тоже не пахнет полноценной c++11. Боль тащить этот старый код, без возможности использования удобных конструкций и готовых библиотек.
DOS. --//-- Кто реально запускает? Или собирать просто чтобы было? Кстати, какой ДОС, real-mode или под какой-нибудь dos4gw? Какой компилятор - djgpp, Watcom, Borland? А главное, зачем? А если туда юникод впилить, так ведь в консоле его не покажешь. Так то можно натянуть под protected mode, frame buffer, FreeType, .. и можно рисовать любые символы, а не те, что textmode из BIOS выдаёт.
Best Regards, Nil --- GoldED+/LNX 1.1.5 * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)