Если программа корректно работала в вынь-98, это не значит, что она должна так же работать в семерке и выше. Ни одна программа под линухи двадцатилетней давности в нынешних даже не запустится.
Программа корректно работала ещё под хрюшу SP3, под неё впервые на вынь и портировалась а не на вынь-98. А на семёрке начались глюки с кодировками, которые решились переходом на новый компилятор, который принёс уже другие глюки. Но вопрос не в этом, при переходе на новый компилятор можно что-то небольшое пропатчить, но когда у программиста отбирают вообще все типы строк и говорят "пользуйся только массивами байтов", умалчивая про то, что это не удастся из-за совместимости, это такое вредительство, за которое инноватор Тухаческий однажды отправился в командировку. Ибо нефиг было своими "инновациями" мешать людям нормальные ништяки делать.
Пока тут вместо помощи от кое кого шла пропаганда изо всех щелей, для всех выявленных багов 3+ компилятора уже нашёл противоядия. Последним был долбоклюйский тип данных в .picture.LoadFromFile( который хреново перекодирует пути со смайликами, но если прыгнуть в каталог с картинками и пользоваться короткими путями, то можно работать и с этим баганутым полем класса. Имена файлов ведь даю нормальные, без расширенных символов.
А старые программы для линуксов, если они не на одноразовом C/C++ коде, то можно пропатчить и пересобрать под другие зависимости. И даже одноразовый плюсовый код иногда переносят в новые линуксы просто потому, что у писателей на модном промышленном языке обычно голова уже нормально не работает и в новой программе нет нескольких копеечных фич из старой и никто их туда не добавит потому что потому. Такая ситуация с просмотрщиками картинок - разработчики не могут (по уму не могут, потому что плюсы мозги съели а не технически это сложно) добавить фичи масштабирования и управления колёсиком мыши, которые есть в древнем kuickshow, которому больше 20 лет и есть. И потому проще пересобрать двадцатилетнюю программу, чем докричаться до авторов новых делающих тоже самое, но коряво. Договориться о некоторых мелочах нельзя. Всё как говорил классик - есть 2 беды: дураки и дороги. С дураками об умном по хорошему не договоришься, им нужно весь мир дурацким сделать, чтобы там жить комфортно.
Добавлено спустя 5 минут 47 секунд:
xchgeaxeax писал(а):Большинство проблем, из-за которых не работают программы, это отсутствие библиотек (их банально прекратили выпускать и они пропали или просто переименовали) или полной совместимости библиотек со старыми версиями.
Если новые библиотеки совместимы со старыми, то это лечится симлинками. Но у сиплюсовых программ чрезмерно много зависимостей, потому на баги можно нарваться просто на ровном месте.