使用DXUT创建Direct3D设备失败(仅限调试)



我在这里遇到了一个奇怪的问题,我试图从DirectX示例浏览器运行DXUT DirectX 10/11教程。它们构建良好,但不能在调试模式下运行,因为这会触发错误警告"创建Direct3D设备失败"。这很奇怪,因为我可以在发布模式下运行它们。然而,最奇怪的是它们曾经在调试模式下运行,我发誓我在它运行的那天没有改变任何东西,第二天它就没有了。我的一个朋友也有同样的问题,几乎是在同一时间发生的。

有没有人遇到这个问题,知道一个解决方案,或者也许知道为什么它发生在明显之外,我有一个DirectX 11功能卡,如果你没有拿起它。

谢谢。

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

我设法找到这篇文章,解释最近的更新,(确切地说是2013年2月26日),导致旧版本混乱:

http://blogs.msdn.com/b/chuckw/archive/2013/02/26/directx-11-1-and-windows-7-update.aspx

这就解释了为什么它几个星期前工作得很好,现在它突然停止工作,我猜!

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

注意:你甚至不需要使用Visual Studio 2012。我想新文件应该可以解决你在Visual Studio 2010和旧版本中的问题!

(在做这个之前,我还安装了所有最新的驱动程序,但我不认为这有任何帮助,但值得随时升级驱动程序,因为这已经修复了我以前遇到的类似问题)。

希望这有帮助!!:)

在你代码的某个地方,你可能有这样的东西

#if defined(DEBUG) || defined(_DEBUG)  
    createDeviceFlags |= D3D10_CREATE_DEVICE_DEBUG;
#endif

如果你看一下msdn上的D3D10_CREATE_DEVICE_DEBUG;你会看到这个

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

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

自动IE10更新是导致我自动不支持直接开发的问题。最简单的解决方案是下载独立的win8 sdk…

http://msdn.microsoft.com/en-us/windows/desktop/hh852363

directx调试层dll必须更新。

最新更新