我无法在VSCode中为D3D12配置包含路径

时间:2018-09-03 22:15:30

标签: visual-studio-code direct3d12

[EDIT]这是关于vsCode项目的,不是Visual Studio项目的(在此进行了澄清,因为它并不明显)

没有人设法构建包含d3d12.h并成功与D3D库链接的应用程序。 我知道它位于C:\ Program Files(x86)\ Windows Kits \ 10 \ Include \ 10.0.17134.0 \ um 但是,当我将其添加到c_cpp_properties.json的包含路径时,会出现此错误:

  

无法打开源文件“ kernelspecs.h”(对“ d3d12.h”的依赖性)

有道理。

此页面提到了DXSDK_DIR环境var,但是尽管我安装了“ Windows 10 SDK软件”和“ VS community 2017”,但我的计算机上尚未定义该变量。 https://docs.microsoft.com/en-us/windows/desktop/direct3d12/directx-12-programming-environment-set-up

我的印象是现在无法使用VSCode构建D3D12应用程序。我错了吗?

[编辑] 好的,所以我以这种方式添加了所有四个包含路径(我正在使用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 Kits / 10 / Include / 10.0.17134.0 / shared' -IC:/程序文件(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     套件/ 10包括/10.0.17134.0/cppwinrt'<< / p>   

     

在C:/ Program Files(x86)/ Windows包含的文件中   工具包/10/Include/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,

     

from main.cpp:7:C:/程序文件(x86)/ Windows Kits / 10 / Include / 10.0.17134.0 / um / winnt.h:154:2:error:#error“ No   目标体系结构”

我唯一的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 :(得分:1)

标准的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 Beta版的过时引用,该版本不再存在,因为它不在Beta之外。 DirectX 12标头和库是Windows 10 SDK的一部分。

D3DX12.H实用程序标头不在任何SDK中,您只需从GitHub中获取它即可。

您可能还想签出DirectX Tool Kit for DirectX 12