понедельник, 11 июля 2016 г.

[prog.c++] SObjectizer 4.5 -- немного позанимался софтонекрофилией :)

SObjectizer-4 был написан в 2002-ом году. Затем более-менее активно развивался года до 2004-го. Потом менее активно, но все-таки куда-то двигался до 2006-го года, когда была сделана версия 4.4. После чего развитие линейки SObjectizer-4 остановилось окончательно. Были баг фиксы, последний из которых, если не ошибаюсь, был сделан где-то в середине 2010-го года. Но развития уже не было. Вот уже 10 лет как.

В общем, поскольку для меня лично SO-4 -- это дела давно минувших дней, то полагал, что SO-4 уже не используется и написанный на его базе софт либо уже давно выведен из эксплуатации, либо же не менее давно переведен на SO-5.

Тем удивительнее было обнаружить, что софт на SO-4 не только есть, но он еще и работает. И, время от времени, нуждается в доработках. Правда, используются для этого какие-то древние компиляторы, да и собираются приложения в 32-х битовом режиме, т.к. были в свое время какие-то заморочки с какими-то библиотеками из-за чего портировать SO-4 в 64-бита не стали.

Ну а т.к. негоже по нынешним временам сидеть на древних C++03 компиляторах, то на выходных портировал SObjectizer-4 и сопутствующие ему библиотеки под C++11/14. Или, другими словами, после многолетнего перерыва появилась версия SObjectizer 4.5. Чему я сам несказанно удивлен, т.к. не мог себе представить такого развития событий и в кошмарном сне :)

Тем не менее, если вдруг кому-то надо, то можно взять SO-4.5 из SVN-а. Проверял работоспособность под Windows и VC++ 14.0, под Linux и GCC-6.1 (но, думаю, и под 4.9-5.3 так же будет работать). Вроде как работает и в 32-х, и в 64-х битах. При компиляции с высокими уровнями предупреждений, конечно же, довольно много ворнингов от компилятора идет, особенно в тестах и примерах. Но вычищать все это ну совсем уже не хочется, да и незачем, думаю.

В общем, мораль сей басни: программа - не воробей, выпустишь - не поймаешь будешь фиксить потом, даже когда захочешь забыть, что же это такое :)


PS. В репозитории SObjectizer-а -- это первый проект, в котором зависимости подтягиваются через MxxRu::externals. Вот здесь можно глянуть, как это выглядит. В том числе подтягивается и такая "тяжелая" зависимость, как ACE.

Отправить комментарий