Visual Studio 2015には、従来のDirectX SDKのヘッダーよりも新しいというWindows 8.1 SDKが含まれています。 Windows 8.1 SDKにはすべてのDirectXヘッダーとライブラリが含まれていますが、には現在廃止されているD3DX(D3DX9、D3DX10、D3DX11)ユーティリティライブラリが含まれていないため、には存在しません。
D3DX9、D3DX10、およびD3DX11は、従来のDirectX SDKでのみ使用できます。あなたは、VS 2012以降で
<ExecutablePath>$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86;$(ExecutablePath)</ExecutablePath>
<IncludePath>$(DXSDK_DIR)Include;$(IncludePath)</IncludePath>
<LibraryPath>$(DXSDK_DIR)Lib\x64;$(LibraryPath)</LibraryPath>
:x64のネイティブのための
<ExecutablePath>$(DXSDK_DIR)Utilities\bin\x86;$(ExecutablePath)</ExecutablePath>
<IncludePath>$(DXSDK_DIR)Include;$(IncludePath)</IncludePath>
<LibraryPath>$(DXSDK_DIR)Lib\x86;$(LibraryPath)</LibraryPath>
と、この:Win32の(x86の)設定のため、次のようにVS 2010で、あなたが使うことになっていたVC++ディレクトリの設定でしたているWindows 8 SDKの古いのDirectX SDKを交換におけるヘッダのほとんど以来、それらを逆に:
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x86</LibraryPath>
と
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x64;</LibraryPath>
MSDN、Where is the DirectX SDK (2015 Edition)?、The Zombie DirectX SDK、およびNot So Direct Setupを参照してください。
といっても、おそらく、従来のDirect3D 9を使用するべきではないでしょう。 DirectX 11をD3DXの現代的な代替品の1つと共に使用することは、より良い、よりクリーンなオプションであり、従来のDirectX SDKを必要としません。 Living without D3DXを参照してください。
あなたは特別のDirect3D 9でのWindows XP SP3上でプログラムを実行するためにターゲットにしている場合は、Windows 7.1A SDK、ないのWindows 8.1 SDKを使用していますv140_xp
プラットフォームツールセットを使用することがあります。したがって、あなたは古い学校のインクルード注文と一緒に行きます。詳細は、this postを参照してください。
ファイル 'd3dx9.h'が実際にインクルードパスにあることを確認しましたか? – roalz
私は賛成し、私が見る限りです。それは本当にそこにあります。 – unknowncoder
使用しているVisual Studioのバージョンは? DirectX SDKのインクルードパスがC++プロジェクトで正しく選択されていることを確認しましたか(プロジェクトプロパティを参照) – roalz