2011-10-27 38 views
18

私は数回directx11を再インストールし、MicrosoftのWebサイトに行って、すべての直接xキャビネットファイルを含むSDKパックを入手しました。誰も私はなぜこのエラーを取得し続けているか考えている?私はそれがなぜそれを言っているのか知っていますが、それに対する解決策をもっと探しています。d3dx11.hがありませんか?

1> C:プロジェクト\ Visual Studioの\ヴォーン\ドキュメント\ \ユーザー 2010 \ myfirstapp \ myfirstapp \ main.cppに(5):致命的なエラーC1083: 'd3dx11.h': は、オープンファイルを含めることはできません:そのようなファイルやディレクトリはありません

+1

あなたのインクルードディレクトリに必要なフォルダを追加しましたか? – FailedDev

答えて

28

あなたは(それがVS 2008およびそれ以前に少し異なります)VS 2010で行うために必要なものです:

ゴープロジェクトのプロパティへ|構成プロパティ| VC++ディレクトリ。 DirectXヘッダーファイルへのパスを追加して、[ディレクトリをインクルード]という行を編集します。

32ビット勝利:2010年6月SDK用として、それはのようなものであってもよいC:\プログラムファイル\マイクロソフトのDirectX SDK(2010年6月)\含める

64ビット勝利します。C:\ Program Files(x86の) \ Microsoft DirectX SDK(2010年6月)\インクルード

次に、リンカのエラー(.libファイルがありません)が発生する可能性が最も高いです。プロジェクトのプロパティに移動するだけです。構成プロパティ|

32ビットのWin:C:\プログラムファイル\マイクロソフトのDirectX SDK(2010年6月)\ Libの\ x86の

64ビットVC++再びディレクトリが、今回編集のライブラリディレクトリとは、次のいずれかのパスに追加します他のバージョンのSDKをインストールした場合、またはデフォルト以外のディレクトリにインストールした場合は、それに応じてパスが変更されます。また、リンカーにd3d11.libを加えたことを確認してください(おそらくd3dx11.libも同様です)。追加の依存関係。

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

+0

さて、私はこれを試してみるつもりです。私はそれが割り当ての指示が私に言ったものだからだと思ったが、私はすべてをダブルチェックする。 –

+0

助けてくれてありがとう、私はVC++ディレクトリとDirect X11のリンカライブラリが欠けていた。 –

+3

環境変数%DXSDK_DIR%/ Includeの使用はどうですか? – qdii

0

あなたは最新のDirectX SDKを取得する必要があります。それはヘッダーファイルを持っています。キャビネットファイルがあればSDKが間違っています。

+0

私はそれをダウンロードしましたが、まだそれを見つけることができないと私に伝えますか?私がファイルへのアクセスを要求している行をコメントアウトすると動作しますが、d3dx10.hファイルもコメントアウトされて正常にロードされます。 –

+0

システムでd3dx * .hを探して、正しいヘッダファイルがどこにインストールされているか確認できますか? –

+0

4回のように再インストールしてもポップアップしませんでした。 –

0

は、DX12のために、私はd3dx12.h

this MSDNページを参照してください欠落していました。

は、ページを移動する場合は、該当する行は

d3dx12.hは、Direct3Dの12の​​ヘッダーとは別に提供されていますように見える。あなたがソースファイルのいずれかに移動してd3dx12.hダウンロードすることができますDirect3D 12のプロジェクトはGitHub/Microsoft/DirectX-Graphics-Samplesに "

+4

DirectX SDKは従来のもので、D3DX9、D3DX10、およびD3DX11は推奨されていません。置き換えのリストについては、[D3DXなしの生活](https://blogs.msdn.microsoft.com/chuckw/2013/08/20/living-without-d3dx/)を参照してください。 D3DX12は、Windows SDKまたはDirectX SDKの一部ではありません。これはあなたのプロジェクトにコピーされるだけです.GitHub(https://github.com/Microsoft/DirectX-Graphics-Samples/blob/master/Templates/DirectX12App/Common/d3dx12.h)の下にあります。 MITライセンス。また、[これらの](https://github.com/walbourn/directx-vs-templates/wiki)を含むさまざまなDirectX 12 VSテンプレートにも含まれています。 –

関連する問題