C++ D3D11CreateDevice 0x887a002d错误
首先,我从Frank Luna的书中学习DirectX 11,我来到了需要创建设备的部分,但它给出了错误:“0x887a002d:应用程序请求的操作依赖于缺少或不匹配的SDK组件。”我不断搜索,尝试了不同的解决方案,但没有成功 我尝试过的解决方案: 1) 我使用的是visual studio 2015附带的DirectX库,所以我安装了它。(正确) 2) 我尝试将其更改为D3D11CreateDeviceAndSwapChain,但也出现了相同的错误 我已经将DirectX SDK(2010年6月)连接到该项目(是的,我想使用DirectX遗留SDK) 我的代码:C++ D3D11CreateDevice 0x887a002d错误,c++,directx,direct3d,C++,Directx,Direct3d,首先,我从Frank Luna的书中学习DirectX 11,我来到了需要创建设备的部分,但它给出了错误:“0x887a002d:应用程序请求的操作依赖于缺少或不匹配的SDK组件。”我不断搜索,尝试了不同的解决方案,但没有成功 我尝试过的解决方案: 1) 我使用的是visual studio 2015附带的DirectX库,所以我安装了它。(正确) 2) 我尝试将其更改为D3D11CreateDeviceAndSwapChain,但也出现了相同的错误 我已经将DirectX SDK(2010年6
HRESULT hr;
UINT CreateDeviceFlags = 0;
D3D_FEATURE_LEVEL featureLevel;
UINT m4xMsaaQuility;
#if defined(DEBUG) || defined(_DEBUG)
CreateDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif
hr = D3D11CreateDevice(
0,
D3D_DRIVER_TYPE_HARDWARE,
0,
CreateDeviceFlags,
0, 0,
D3D11_SDK_VERSION,
&m_pDevice,
&featureLevel,
&m_pDeviceContext);
if (FAILED(hr))
{
return -1;
}
包括:
#include <iostream>
#include <Windows.h>
#include <d3d11.h>
#include <d3dcompiler.h>
#include <DirectXMath.h>
#include <DirectXColors.h>
// Link Library Dependencies
#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "dxgi.lib")
#pragma comment(lib, "d3dcompiler.lib")
#pragma comment(lib, "winmm.lib")
#包括
#包括
#包括
#包括
#包括
#包括
//链接库依赖项
#pragma注释(lib,“d3d11.lib”)
#pragma注释(lib,“dxgi.lib”)
#pragma注释(lib,“d3dcompiler.lib”)
#pragma注释(lib,“winmm.lib”)
您没有提到正在使用的操作系统
该错误表示您的系统没有支持D3D11\u CREATE\u DEVICE\u DEBUG
所需的DirectX SDK层包。您可以通过构建不使用此标志的版本配置来验证,并检查它是否可以创建Direct3D 11设备
使用DirectX 11.0时,旧版DirectX SDK(即使是最后一个,2010年6月)仅安装适用于Windows 7或更早版本的DirectX Developer调试运行时。它不支持带有KB 2670838(又称DirectX 11.1)、Windows 8、Windows 8.1或Windows 10的Windows 7 SP1
- 如果您使用的是带有KB 2670838的Windows 7 SP1,那么您应该通过安装Windows 8.1 SDK(VS 2015附带)获得适当的调试SDK层。看
- 如果您使用的是Windows 8、Windows 8.1或Windows 8.1 Update,则应通过安装Windows 8.1 SDK(VS 2015附带)获得适当的调试SDK层。请注意,Windows 8不再受支持,因此您应该确保转到Windows 8.1 Update或Windows 10
- 如果您使用的是Windows 10,则需要启用图形工具Windows功能,该功能提供与当前版本的Windows 10相匹配的调试SDK层。请记住,这是特定于操作系统版本的,因此升级到较新版本或内部版本可能需要重新安装Windows功能。在企业设置中,您的IT管理员必须批准您使用此Windows可选功能才能安装它。看
“我尝试了不同的解决方案”,然后列出您已经尝试过的解决方案。1)我正在使用visual studio 2015附带的directx库,因此我安装了它。(正确)2)我尝试将其更改为D3D11CreateDeviceAbdSwapChain,但出现了相同的错误编辑您的问题以包含该错误。