[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>
答案 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。