Only Power Do I Need.

Long-term study, endless practice, strict self-discipline.
随笔 - 16, 文章 - 0, 评论 - 1, 引用 - 0
数据加载中……

D3DX11CreateEffectFromMemory 报错 E_NOINTERFACE 解决

这个问题是在学习 Introduction to 3D Game Programming with DirectX 11 一书时遇到
最正确的解决方案是这里  D3D11 D3DX11CreateEffectFromMemory returns E_NOITERFACE
好像是因为D3DX库已经被弃用了. Effect也是. 而DIRECTX库也被包含在win sdk里面不再作为单独的SDK发布. 而D3DX的库在发布时使用的是VS2010编译的, 当使用VS2012或更高版本时, 会有错误

以上都是个人理解. 我可以保证的是肯定有理解的不对的地方.

在stackOverflow上的大神建议的是把D3DX和Effect都用最新的接口替换掉并给出了新旧接口的对照页面链接, 太麻烦了实在不适合我这种浅尝辄止的人.

最后我个人的解决方案是这样. VS2013中. Project property -> Configuration Properties -> General -> Platform Toolset -> change the "Visual studio 2013 (v120)" to "Visual Studio 2013 - Windows XP (v120_xp)"
这样既可规避错误. 具体原因: 不明

posted on 2016-10-10 10:57 夜舞 阅读(1205) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理