Я пытаюсь изучить DirectX 12, и я нашел эти руководства на github. Я все скачал и попробовал запустить проект HelloWindow. Я связал d3d12.lib в Debug-> Options-> Linker -> ...

0
Linkthehero2222 14 Дек 2020 в 21:36

1 ответ

Лучший ответ

Вы используете «последнюю» копию D3DX12.H, которая требует использования «последней» версии Windows 10 SDK (19041). Если D3D12_RESOURCE_DESC1 не определен, вы используете более старую версию Windows 10 SDK.

Обратите внимание, что есть три различных варианта исправления этого несоответствия:

  1. Установите последнюю версию Windows 10 SDK (19041) . Для VS 2019 это делается путем запуска установщика Visual Studio и выбора нового Windows 10 SDK в качестве компонента. Для VS 2017 необходимо запустить автономный установщик . VS 2015 и более ранние версии не поддерживаются.

  2. Используйте версию заголовка утилиты D3DX12.H, которая поддерживает старые SDK . Я поддерживаю версию «последнего» заголовка D3DX12.H, которая содержит набор условных выражений препроцессора, чтобы он поддерживал Windows 10 SDK (14393) или более позднюю версию. Это последняя версия Windows 10 SDK для поддержки VS 2015. Получите ее по адресу GitHub: directx-vs-templates.

  3. Использовать GitHub DirectX-Headers . Новый вариант - получить последние заголовки, включая D3DX12.H в виде набора, из GitHub. Вам по-прежнему нужен Windows 10 SDK для библиотек ссылок.

См. это сообщение в блоге, чтобы узнать, почему D3DX12.H не часть Windows 10 SDK.

Примеры на DirectX-Graphics-Samples в основном В ветке / master предполагается, что вы используете последнюю версию Windows 10 SDK (19041).

Поскольку вы новичок в DirectX 12, вы можете взглянуть на набор инструментов DirectX для DX12 как более мягкое введение в последнюю версию API.

4
Chuck Walbourn 14 Дек 2020 в 20:20