最近、Visual Studio2012Ultimateに更新しました。以前はDirectX11June 2010 SDKでプログラミングしていたので、引き続きVisual Studio 2012を使用してプログラミングしたいと思います。しかし、VS2012には独自のDirectX SDK(Windows Kit 8.0)が付属しており、コードを移行しようとしています。新しいバージョンのd3d11を使用します。プロジェクトでエフェクトファイル(.fxファイル)を使おうとするまで、すべてうまくいきました。VS2012を使用してDirectXSDKでEffects11サンプルをコンパイルし、プロジェクトのlibファイルをリンクする必要がありました。それもうまくいきました。ただし、プロジェクトをコンパイルすると、関数D3DX11CreateEffectFromMemory
はを返しますE_NOINTERFACE error (no such interface is supported)
。なぜだか教えてもらえますか?Windowsキットのd3d11.libとd3dx11.lib
DirectXSDKから。たぶん私はそれらを混ぜるべきではありませんか?ただし、エフェクトファイルの作成を除いて、それらをミックスすると、他のすべてが正常に機能します。
どんな助けでもいただければ幸いです。
PSこれが役立つかどうかはわかりませんが、プロジェクト設定にライブラリディレクトリを追加する"DirectXSDKInstallPath\lib\x86\"
と機能します。何故ですか?古いバージョンのライブラリを使用しているということですか?これにより、winerror.hの再定義されたヘッダーに関する大量の警告が表示されます。