Сообщество программистов Autodesk в СНГ

ADN Club => ObjectARX => Тема начата: Дмитрий Загорулькин от 24-01-2019, 12:23:35

Название: Ресурсная DLL для иконок и версия Windows SDK в Visual Studio 2017
Отправлено: Дмитрий Загорулькин от 24-01-2019, 12:23:35
У моих проектов ресурсных DLL в какой-то момент появились два новых свойства: Target Platform и Windows SDK Version. Подозреваю, что это было добавлено в какой-то из последних версий Visual Studio. И теперь для того, чтобы собрать такой проект, нужно установить соответствующую настройке версию Windows SDK. А это примерно плюс 10 Гб занятого места на системном жёстком диске. Если этого не сделать, то компиляция прерывается ошибкой:
Error MSB8036 The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution".Я так подозреваю, что для ресурсной DLL этот параметр не должен играть никакой роли. Есть ли возможность как-то отключить или обойти эту настройку?

Название: Re: Ресурсная DLL для иконок и версия Windows SDK в Visual Studio 2017
Отправлено: Александр Ривилис от 24-01-2019, 12:38:02
А воспользоваться какой-то из старых версий VS нельзя, в которых такой проблемы нет ты не можешь?
Название: Re: Ресурсная DLL для иконок и версия Windows SDK в Visual Studio 2017
Отправлено: Дмитрий Загорулькин от 24-01-2019, 12:52:43
На ПК установлена только 2017. Я подумал, что может быть удастся обойтись малой кровью. Получается, что надо либо установить этот SDK, либо старую студию. Глянул размер SDK для 8.1 - 1,64 Гб. В принципе, это терпимо. Про 10 Гб - это я видимо с SDK для Windows 10 перепутал.
А вот интересно, будет какая-то разница в результате если собирать DLL в старой версии студии или в новой с установленным SDK?
Название: Re: Ресурсная DLL для иконок и версия Windows SDK в Visual Studio 2017
Отправлено: Александр Ривилис от 24-01-2019, 12:59:51
А вот интересно, будет какая-то разница в результате если собирать DLL в старой версии студии или в новой с установленным SDK?
Разницы никакой не будет, кроме того, что в dll-файле есть пара байтиков, которая отвечает за номер версии линкера:

(https://farm5.staticflickr.com/4869/39894398993_ca2329f9c1_o.png)

Для ресурсных dll это совершенно не важно.
Название: Re: Ресурсная DLL для иконок и версия Windows SDK в Visual Studio 2017
Отправлено: Дмитрий Загорулькин от 24-01-2019, 13:11:06
Спасибо! Тогда просто скачаю и установлю это SDK.
Название: Re: Ресурсная DLL для иконок и версия Windows SDK в Visual Studio 2017
Отправлено: Александр Ривилис от 24-01-2019, 13:26:56
Интересное сравнение по поводу размеров SDK различных версий:

(https://farm8.staticflickr.com/7807/46134510084_da81ff4a25_o.png)

И если я для проверки переименовываю каталог C:\Program Files (x86)\Windows Kits\8.1, то получаю такую же ошибку, что и у тебя.

Название: Re: Ресурсная DLL для иконок и версия Windows SDK в Visual Studio 2017
Отправлено: Дмитрий Загорулькин от 24-01-2019, 14:19:56
Да, у меня 8.1 в этой папке примерно столько же занимает.
А увеличение на 1,64 Гб ("2") показывает Visual Studio Installer, когда выбираешь для установки компонент Windows 8.1 SDK ("1").
Название: Re: Ресурсная DLL для иконок и версия Windows SDK в Visual Studio 2017
Отправлено: Александр Ривилис от 24-01-2019, 14:29:03
Дмитрий Загорулькин,
Уже всё нормально?
Название: Re: Ресурсная DLL для иконок и версия Windows SDK в Visual Studio 2017
Отправлено: Дмитрий Загорулькин от 24-01-2019, 14:35:14
Да, сейчас всё хорошо! После установки SDK 8.1 проблем нет - проект собирается, в AutoCAD иконки видны. Я просто недавно полностью систему переустанавливал со всеми программами и Visual Studio, соответственно. При повторной установке убрал галочки со всего что посчитал лишним - и вот словил эту проблему. Раньше, видимо, эти и прочие SDK были установлены и проблемы не было. Как и свободного места на системном диске :)
Название: Re: Ресурсная DLL для иконок и версия Windows SDK в Visual Studio 2017
Отправлено: Александр Ривилис от 24-01-2019, 14:37:46
При повторной установке убрал галочки со всего что посчитал лишним - и вот словил эту проблему.
Словил бы еще проблему, если бы понадобилось компилировать какой-нибудь пример из ObjectARX (например, ARXDBG). По этой причине я стараюсь ничего не убирать.