3

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

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

谢谢。

4

3 回答 3

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 和旧版本的问题,我认为!

(在此之前,我还安装了所有最新的驱动程序,但我认为这没有任何帮助,但只要有可能,就值得升级驱动程序,因为这解决了我之前遇到的类似问题)。

希望这可以帮助!!!:)

于 2013-03-14T01:50:24.987 回答
0

在您的代码中的某个地方,您可能有类似的东西

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

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

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

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

于 2013-03-14T01:33:18.580 回答
0

The automatic IE10 update is what caused my issue of automatic non support of directx development. Simplest solution is downloading standalone win8 sdk at...

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

The directx debug layer dll has to be updated.

于 2013-03-20T00:47:06.280 回答