View Issue Details

IDProjectCategoryView StatusLast Update
0003883SAS.ПланетаХотелка / Feature requestpublic11-11-2024 14:24
Reporterzed Assigned Tozed  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version230909 
Target Version241111Fixed in Version241111 
Summary0003883: Использовать актуальные dll при запуске на Windows 7 и выше
DescriptionПри обновлении dll всё чаще начинает возникать ситуация, что они уже не поддерживают WinXP и чтобы не потерять поддержку этой версии приходится использовать старые dll.

Предлагаю сделать разделение версий для WinXP и новее.

Новые dll предлагаю размещать в папке lib32 и lib64 (для x64, когда появится поддержка со стороны SAS). Старые, совместимые dll, переместить в папку libxp.

Далее, при запуске программы использовать функцию SetDllDirectory для добавления libxp/lib32/lib64 для поиска нужных dll.

Т.о. можно сделать бесшовный переход на новые dll на какое-от время (пока у них не начнёт меняться внешний API).
TagsNo tags attached.

Relationships

related to 0003581 resolvedzed Сборка 64-х битной версии SAS 

Activities

zed

20-12-2023 07:50

manager   ~0020441

Да, забыл указать, что новые dll (в большинстве своём), можно взять из проекта mingw-w64 и самостоятельно их собирать не нужно. Особенно актуально это будет для 64-х битной версии.

zed

20-12-2023 15:23

manager   ~0020442

Со статически слинкованным библиотеками такий финт не получится (они загружаются до того, как процесс начинает выполняться). Тут либо старт через внешнюю запускалку и CreateProcss, либо переделывать все либы на динамическую линковку. У FreeImage там у около 250 функций надо объявление изменить, чтобы сделать её динамической. С остальными dll особых трудностей нету (большинство и так динамически грузятся).

zed

23-12-2023 14:54

manager   ~0020443

С FreeImage всё оказалось не так страшно - спасибо регэкспам и notepad++.

zed

25-12-2023 10:38

manager   ~0020444

Сделано. Наборы библиотек буду выкладывать тут: https://github.com/sasgis/sas.planet.bin/releases

Из репо с релизами все dll надо будет удалить (скрипты сборки ночных версий и релизов также переделаны под новые наборы).

Issue History

Date Modified Username Field Change
20-12-2023 07:47 zed New Issue
20-12-2023 07:47 zed Status new => assigned
20-12-2023 07:47 zed Assigned To => zed
20-12-2023 07:50 zed Note Added: 0020441
20-12-2023 07:52 zed Relationship added related to 0003581
20-12-2023 15:23 zed Note Added: 0020442
20-12-2023 15:27 zed Description Updated
23-12-2023 14:54 zed Note Added: 0020443
25-12-2023 10:38 zed Note Added: 0020444
25-12-2023 10:38 zed Status assigned => resolved
25-12-2023 10:38 zed Fixed in Version => 41xxxx
25-12-2023 10:38 zed Resolution open => fixed
11-11-2024 14:18 zed Target Version 41xxxx => 241111
11-11-2024 14:24 zed Fixed in Version 41xxxx => 241111
08-08-2025 13:24 zed Category Хотелка => Хотелка / Feature request