web-dev-qa-db-ja.com

d3dx11.hが見つかりませんか?

そのため、directx11を数回再インストールし、MicrosoftのWebサイトにアクセスして、すべてのdirect xキャビネットファイルが含まれているSDKパックを入手しました。誰もがなぜこのエラーが発生し続けるのか考えていますか?それがなぜそれを言っているのか私は知っていますが、それに対する解決策をもっと探しています。

1> c:\ users\vaughn\documents\visual studio 2010\projects\myfirstapp\myfirstapp\main.cpp(5):fatal error C1083:Cannot open include file: 'd3dx11.h':No such file or directory

21
Nicholas Vaughn

これはVS 2010で行う必要があることです(VS 2008以前では少し異なります)。

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

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

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

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

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

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

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

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

31

最新の DirectX SDK を取得していることを確認する必要があります。ヘッダーファイルがあります。入手したのがキャビネットファイルだけだった場合、間違ったSDKを入手しました。

0
Michael Price

私の場合、DX12の場合、d3dx12.hがありませんでした

このMSDN ページを参照してください。

ページが移動した場合、関連する行は

"d3dx12.hは、Direct3D 12ヘッダーとは別に利用できます。Direct3D 12プロジェクトの任意のソースファイルに移動して、d3dx12.hをダウンロードできます。 GitHub/Microsoft/DirectX-Graphics-Samples "

0
0909EM