使用DXUT的DirectX示例无法创建Direct3D设备(仅限调试)

使用DXUT的DirectX示例无法创建Direct3D设备(仅限调试),directx,directx-10,Directx,Directx 10,这里有一个非常奇怪的问题,我正在尝试从DirectX示例浏览器运行DXUT DirectX 10/11教程。它们构建良好,但无法在调试模式下运行,因为这会触发错误警告“无法创建Direct3D设备”。这很奇怪,因为我可以在发布模式下运行它们。然而,最奇怪的是,它们通常在调试模式下运行,我发誓在它运行的那一天,我什么也没改变,第二天它也没改变。一个朋友也有同样的问题,发生在同一时间 有没有人遇到过这个问题并知道解决方案,或者可能知道为什么会发生这种情况?很明显,如果您没有注意到,我有一张支持Dir

这里有一个非常奇怪的问题,我正在尝试从DirectX示例浏览器运行DXUT DirectX 10/11教程。它们构建良好,但无法在调试模式下运行,因为这会触发错误警告“无法创建Direct3D设备”。这很奇怪,因为我可以在发布模式下运行它们。然而,最奇怪的是,它们通常在调试模式下运行,我发誓在它运行的那一天,我什么也没改变,第二天它也没改变。一个朋友也有同样的问题,发生在同一时间

有没有人遇到过这个问题并知道解决方案,或者可能知道为什么会发生这种情况?很明显,如果您没有注意到,我有一张支持DirectX 11的卡


谢谢。

在您的代码中,您可能有类似的东西

#if defined(DEBUG) || defined(_DEBUG)  
    createDeviceFlags |= D3D10_CREATE_DEVICE_DEBUG;
#endif
如果您确实查看了
D3D10\u CREATE\u DEVICE\u DEBUG在屏幕上,您将看到这一点

要使用此标志,必须安装D3D11_1SDKLayers.dll; 否则,设备创建将失败


您应该检查您的系统中是否有
dll
,或者您应该重新安装DirectX SDK。

我花了一整天的时间试图解决这个完全相同的问题。这是一个解决方案,希望也能解决你的问题

我找到了这篇文章,解释了最近的一次更新(准确地说是2013年2月26日)导致旧版本出现问题:

这就解释了为什么几周前它还可以正常工作,而现在我想它突然停止工作了

按照他们的建议,我下载了Visual Studio 2012的试用版,在一个半小时的安装时间和系统重启后,您应该拥有所需的所有新DirectX SDK文件

注意:您甚至不必使用Visual Studio 2012。我想新文件应该可以解决VisualStudio2010和旧版本的问题

(在执行此操作之前,我还安装了所有最新的驱动程序,但我认为这没有任何帮助,但只要有可能,就值得升级驱动程序,因为这已经修复了我以前遇到的类似问题)


希望这有帮助!!!:)

自动IE10更新是导致我自动不支持directx开发的原因。最简单的解决方案是在以下位置下载独立的win8 sdk


必须更新directx调试层dll

安装DirectX SDK无法修复此问题。。。DirectX SDK(2010年6月)版本已过时,并且不再具有适用于安装了DirectX 11.1运行时的Windows 7的正确Direct3D调试运行时。您必须安装Windows 8.x SDK、VS 2012/2013或VS 2012/2013远程调试工具包,才能在系统上安装正确的调试运行时。我也有同样的问题。它在版本中工作,但在调试中不工作。。当我启用C++异常时,我看到内存损坏错误突然出现。@ SPIKETHECAT和罗伯特的答案一起解决了这个问题。只需在Windows7中安装Windows8SDK。