Directx 11 运行时错误

Posted

技术标签:

【中文标题】Directx 11 运行时错误【英文标题】:Directx 11 runtime error 【发布时间】:2014-11-17 10:54:54 【问题描述】:

我正在尝试在 Visual Studio 2013(Express) 上运行 Frank D Luna 的演示项目,我收到了一个 unexpected error encountered error code: D3D11_FILE_NOT_FOUND - 在调用 D3D11Compilefromfile 时,你想调试应用程序等吗

这里是触发断点的地方:

HR(D3DX11CreateEffectFromMemory(compiledShader->GetBufferPointer(), compiledShader->GetBufferSize(), 0, md3dDevice, &mFX));

【问题讨论】:

将标题更改为运行时错误,因为它不是编译错误;除此之外:您谈论 D3D11Compilefromfile 的错误,但显示的代码行是关于 D3DX11CreateEffectFromMemory? 感谢您更改标题 :) 是的,这就是我获得断点的地方 【参考方案1】:

首先,确保您使用的是 CodePlex 上的最新 Effects 11。

其次,您发布的代码没有调用D3D11CompileFromFile,因此很难说这里有什么问题。 D3D11_FILE_NOT_FOUND 通常是因为当前工作目录不是你想的那样,或者你提供的路径不正确。顺便说一句,最新的 Effects11 有一个D3DX11CreateEffectFromFile,所以你不必自己编写这个两步过程。

第三,由于您使用的是 VS 2013 Express,请务必阅读Where is the DirectX SDK (2013 Edition)? 和Visual Studio 2013 and Windows 8.1 SDK RTM are now available。希望您只是避免同时使用旧版 DirectX SDK 和 D3DX(请参阅Living without D3DX),但如果不确定您是否具有正确的 include/lib 路径顺序,如 MSDN 上所示。

【讨论】:

谢谢你,我的朋友;)

以上是关于Directx 11 运行时错误的主要内容,如果未能解决你的问题,请参考以下文章

Windows 8.1 上的 DirectX 11 缺少 SDK 组件

“无法初始化 Direct3d”

DirectX - 按 ctrl + alt + del 时出错

DirectX OMSetRenderTargets 中的访问冲突

DirectX 11:运行简单的 DirectX 应用程序时运行时崩溃

DirectX11 执行警告 #355