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

时间:2013-03-13 21:32:31

标签: directx directx-10

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

有没有人遇到过这个问题而且知道一个解决方案,或者可能知道为什么它会发生超出明显的范围,如果你没有选择它,我会有一张支持DirectX 11的卡。

感谢。

3 个答案:

答案 0 :(得分:3)

我真的花了一整天时间来试图解决这个完全相同的问题。这个解决方案应该有希望解决你的问题......

我设法找到这篇文章解释最近的更新(确切地说是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和我认为的旧版本的问题!

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

希望这会有所帮助!!! :)

答案 1 :(得分:0)

在您的代码中的某个地方,您可能会有一些与此相关的内容

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

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

  

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

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

答案 2 :(得分:0)

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

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

必须更新directx调试层dll。