View Issue Details

IDProjectCategoryView StatusLast Update
0001743SAS.ПланетаБаг / Bugpublic18-05-2013 11:46
Reporterzed Assigned Tozed  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version120808 
Target Version131111Fixed in Version131111 
Summary0001743: Новые версии SAS (за 2012 г.) не работают на Windows 2000
DescriptionСвязано это с тем, что в SAS активно начали использоваться внешние библиотеки (типа FreeImage, libjpeg и проч.) которые были скомпилированы в MSVC 2010, а одной из ключевых особенностей ран-тайм библиотек десятой версии является то, что они используют некоторые системные API функции, которые появились лишь в WinXP. Отсюда и беда и чтобы её победить, нужно использовать более старый компилятор (MSVC 2008) для зависимых библиотек.
TagsNo tags attached.

Activities

Tolik

26-12-2012 16:00

manager   ~0010225

А надо её побеждать?

Я вот хочу попробовать вин8 скуки ради, пойдёт под ней?

vasketsov

26-12-2012 17:00

manager   ~0010227

>они используют некоторые системные API функции
Например? Именно компилятор/линкер привязываются к новым функциям? Если так - забавно ))

>вин8 скуки ради, пойдёт под ней?
Не проверишь - не узнаешь )))
По идее должно.

vdemidov

26-12-2012 21:24

manager   ~0010228

А точно вообще не работают рантайм библиотеки 2010 в win2k? Если нет, то ИМХО тратить усилия на поддержку такой старой винды смысла нет.

zed

27-12-2012 05:24

manager   ~0010230

На win8 работает без проблем. У меня уже с полгода стоит ReleasePrevew - проблем не замечено.

По поводу библиотек:
http://support.microsoft.com/kb/2005279
http://qualapps.blogspot.com/2010/04/visual-c-2010-apps-dont-support-windows.html

>тратить усилия на поддержку такой старой винды смысла нет
Оно там может и не сильно напрягаться надо. В 2010 студии появилась фишка многоцелевой сборки, надо будет попробовать.
=====
Для сборки работоспособного в WIndows 2000 приложения из среды Visual Studio 2010 можно воспользоваться новой функциональностью Visual C++ 10 — многоцелевой сборкой (multi-targeting). Такой вид сборки позволяет компилировать приложения из VS2010 с использованием компилятора, компоновщика и библиотек из предыдущих версий Visual C++ при условии их наличия в системе. Выбрать целевую платформу можно в настройках проекта (General/Platform Toolset). Пути к необходимым для сборки на целевой платформе инструментам и библиотекам заданы в props-файлах, находящихся в каталоге %ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\<Platforms>\PlatformToolsets. Более подробно данный вопрос освещён в блоге группы разработчиков Visual C++.

Следует также заметить, что использование многоцелевой сборки позволит избавиться от необходимости иметь несколько версий проектных файлов в случае, когда разрабатываемая программа должна поддерживаться в различных версиях Visual C++.
http://www.viva64.com/ru/k/0026/

zed

18-05-2013 11:46

manager   ~0011395

Пересобрал либы и всё заработало. Так что будем придерживаться стратегии "старый конь борозды не портит".

Все изменённые либы будут в следующих ночнушках, начиная с сегодня.

Issue History

Date Modified Username Field Change
26-12-2012 11:57 zed New Issue
26-12-2012 11:57 zed Status new => assigned
26-12-2012 11:57 zed Assigned To => zed
26-12-2012 16:00 Tolik Note Added: 0010225
26-12-2012 17:00 vasketsov Note Added: 0010227
26-12-2012 21:24 vdemidov Note Added: 0010228
27-12-2012 05:24 zed Note Added: 0010230
18-05-2013 11:41 zed Status assigned => resolved
18-05-2013 11:41 zed Fixed in Version => 131111
18-05-2013 11:41 zed Resolution open => fixed
18-05-2013 11:42 zed Target Version 41xxxx => 131111
18-05-2013 11:46 zed Note Added: 0011395
08-08-2025 13:22 zed Category Баг => Баг / Bug