SASGIS - SAS.Планета
View Issue Details
0001743SAS.Планета[All Projects] Багpublic26-12-2012 11:5718-05-2013 11:46
zed 
zed 
normalminoralways
resolvedfixed 
120808 
131111131111 
0001743: Новые версии SAS (за 2012 г.) не работают на Windows 2000
Связано это с тем, что в SAS активно начали использоваться внешние библиотеки (типа FreeImage, libjpeg и проч.) которые были скомпилированы в MSVC 2010, а одной из ключевых особенностей ран-тайм библиотек десятой версии является то, что они используют некоторые системные API функции, которые появились лишь в WinXP. Отсюда и беда и чтобы её победить, нужно использовать более старый компилятор (MSVC 2008) для зависимых библиотек.
No tags attached.
Issue History
26-12-2012 11:57zedNew Issue
26-12-2012 11:57zedStatusnew => assigned
26-12-2012 11:57zedAssigned To => zed
26-12-2012 16:00TolikNote Added: 0010225
26-12-2012 17:00vasketsovNote Added: 0010227
26-12-2012 21:24vdemidovNote Added: 0010228
27-12-2012 05:24zedNote Added: 0010230
18-05-2013 11:41zedStatusassigned => resolved
18-05-2013 11:41zedFixed in Version => 131111
18-05-2013 11:41zedResolutionopen => fixed
18-05-2013 11:42zedTarget Version24xxxx => 131111
18-05-2013 11:46zedNote Added: 0011395

Notes
(0010225)
Tolik   
26-12-2012 16:00   
А надо её побеждать?

Я вот хочу попробовать вин8 скуки ради, пойдёт под ней?
(0010227)
vasketsov   
26-12-2012 17:00   
>они используют некоторые системные API функции
Например? Именно компилятор/линкер привязываются к новым функциям? Если так - забавно ))

>вин8 скуки ради, пойдёт под ней?
Не проверишь - не узнаешь )))
По идее должно.
(0010228)
vdemidov   
26-12-2012 21:24   
А точно вообще не работают рантайм библиотеки 2010 в win2k? Если нет, то ИМХО тратить усилия на поддержку такой старой винды смысла нет.
(0010230)
zed   
27-12-2012 05:24   
На 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/
(0011395)
zed   
18-05-2013 11:46   
Пересобрал либы и всё заработало. Так что будем придерживаться стратегии "старый конь борозды не портит".

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