Я не могу настроить пути включения в VSCode для D3D12 - PullRequest
0 голосов
/ 04 сентября 2018

[EDIT] Это проект vsCode , а не визуальный студийный проект (пояснено здесь, потому что это не очевидно)

Кому-нибудь удалось создать приложение, включающее d3d12.h и успешно связанное с D3D lib. Я знаю, что он находится в C: \ Program Files (x86) \ Windows Kits \ 10 \ Include \ 10.0.17134.0 \ um Но когда я добавляю его в пути включения c_cpp_properties.json, я получаю эту ошибку:

не может открыть исходный файл "kernelspecs.h" (зависимость "d3d12.h")

Что имеет смысл.

На этой странице упоминается переменная среды DXSDK_DIR, но она не определена на моем компьютере, хотя у меня установлено «Программное обеспечение Windows 10 SDK» и «VS community 2017». https://docs.microsoft.com/en-us/windows/desktop/direct3d12/directx-12-programming-environment-set-up

У меня сложилось впечатление, что сейчас невозможно создать приложение D3D12 с VSCode. Я не прав?

[Изменить] Итак, я добавил все четыре пути включения таким образом (я использую g ++):

 "command": "${env:Cygwin64BinPath}/g++.exe",
        "args": 
        [
            "-g", 
            "-o", "MassiveSteering", 
            "*.cpp", 
            "-D_DEBUG",
            "-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.17134.0/shared",
            "-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.17134.0/um",
            "-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.17134.0/winrt",
            "-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.17134.0/cppwinrt"
        ],

Но я получаю следующую ошибку:

Выполнение задачи: C: \ cygwin64 \ bin / g ++. Exe -g -o MassiveSteering * .cpp -D_DEBUG '-IC: / Программные файлы (x86) / Комплекты Windows / 10 / Включить / 10.0.17134.0 / shared' '-IC: / Program Files (x86) / Windows Комплекты / 10 / Включить / 10.0.17134.0 / um '' -IC: / Program Files (x86) / Windows Комплекты / 10 / Включить / 10.0.17134.0 / winrt '' -IC: / Program Files (x86) / Windows Комплекты / 10 / Включить / 10.0.17134.0 / cppwinrt '<</p>

В файле из C: / Program Files (x86) / Windows Наборы / 10 / включить / 10.0.17134.0 / Shared / minwindef.h: 182: 0,

из C: / Program Files (x86) / Windows Kits / 10 / Include / 10.0.17134.0 / shared / windef.h: 24,

из C: / Program Files (x86) / Windows Kits / 10 / Include / 10.0.17134.0 / um / windows.h: 171,

из main.cpp: 7: C: / Program Files (x86) / Windows Kits / 10 / Include / 10.0.17134.0 / um / winnt.h: 154: 2: ошибка: #error "Нет Целевая архитектура "

Единственная вещь в моем единственном cpp:

#define UNICODE // Necessary to use long chars in windows 
#define _UNICODE

#define WIN32_LEAN_AND_MEAN

// include the basic windows header file
#include <windows.h>

1 Ответ

0 голосов
/ 04 сентября 2018

Стандартная интеграция Visual Studio имеет все следующие четыре INCLUDE пути:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\winrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\cppwinrt

Если вы только что использовали um, вот почему это не удалось.

Для LIB вам нужно:

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\ucrt\<arch>
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\um\<arch>

DXSDK_DIR Переменная среды является устаревшей ссылкой на бета-версию DirectX 12 SDK, которой больше не должно быть, потому что она не существует за пределами бета-версии. Заголовки и библиотеки DirectX 12 являются частью Windows 10 SDK.

Служебный заголовок D3DX12.H отсутствует в любом SDK, вы просто получаете его из GitHub .

Вы также можете проверить Набор инструментов DirectX для DirectX 12 .

...