d3dx11.h が見つかりませんか? 質問する

d3dx11.h が見つかりませんか? 質問する

そこで、directx11 を数回再インストールし、Microsoft の Web サイトにアクセスして、direct x キャビネット ファイルがすべて含まれている SDK パックを入手しました。それでは、なぜこのエラーが繰り返し発生するのか、誰かわかるでしょうか。なぜこのエラーが表示されるのかはわかっていますが、解決策を探しています。

1>c:\users\vaughn\documents\visual studio 2010\projects\myfirstapp\myfirstapp\main.cpp(5): 致命的なエラー C1083: インクルード ファイルを開けません: 'd3dx11.h': そのようなファイルまたはディレクトリはありません

ベストアンサー1

VS 2010 では次の操作を行う必要があります (VS 2008 以前では少し異なります)。

プロジェクトのプロパティ | 構成プロパティ | VC++ ディレクトリに移動します。DirectX ヘッダー ファイルへのパスを追加して、インクルード ディレクトリという行を編集します。2010 年 6 月の SDK の場合、次のようになります。

32 ビット Win: C:\Program Files\Microsoft DirectX SDK (2010 年 6 月)\Include

64 ビット Win: C:\Program Files (x86)\Microsoft DirectX SDK (2010 年 6 月)\Include

次に、リンカーのエラー (.lib ファイルが見つからない) が発生する可能性が高くなります。プロジェクトのプロパティ | 構成プロパティ | VC++ ディレクトリに再度移動しますが、今回はライブラリ ディレクトリを編集して、次のパスのいずれかを追加します。

32 ビット Win: C:\Program Files\Microsoft DirectX SDK (2010 年 6 月)\Lib\x86

64 ビット Win: C:\Program Files (x86)\Microsoft DirectX SDK (2010 年 6 月)\Lib\x64

他のバージョンの SDK をインストールした場合、またはデフォルト以外のディレクトリにインストールした場合は、それに応じて指定されたパスを変更してください。また、d3d11.lib (およびおそらく d3dx11.lib も) を Linker | Added Dependencies に追加したことを確認してください。

一般的なルールとして、#include <> ファイルを使用するときはいつでも、IDE はそれらのファイルの場所を知る必要があります。VC++ ディレクトリは、Visual Studio でこれを行う 1 つの方法です。ただし、ヘッダーをインクルードするだけでは (ほとんどの場合) 十分ではありません。これらのヘッダーで記述されたプリコンパイル済みバイナリを検索する場所をリンカーに指示する必要があります。これを行うには、ライブラリ ディレクトリに 2 番目のパスを追加します。

おすすめ記事