2017-02-19 102 views
3

我刚刚在Visual Studio 2012最终做了一个项目。在该项目和它的源文件,我添加了一个main.cpp中,并做无法打开源文件d3dx10.h

#include <d3dx10.h> 

我得到的错误

cannot open source file d3dx10.h 

我使用,因此不DIRECTX随Windows 10有?

回答

1

Visual Studio 2012包括提供DirectX头文件和库的Windows 8 SDK,但不包含包含弃用的帮助程序实用程序代码。 D3DX实用程序库(D3DX9,D3DX10和D3DX11)与传统DirectX SDK本身一样已弃用。请参阅MSDN

最好的建议是使用Direct3D 11而不是Direct3D 10. Direct3D 11在所有支持的平台上完全取代了Direct3D 10,可以在更广泛的视频硬件上工作,并且具有全套开源实用程序代码更换。

Living without D3DX
Where is the DirectX SDK (2015 Edition)?
DirectX SDK Samples Catalog
DirectX SDK Tools Catalog
Direct3D Feature Levels

与此类似,我推荐使用VS 2015年而不是2012 VS其中Windows自带的8.1 ​​SDK。因为VS已经有很多C++语言11的改进和bug修复2012

如果需要,可以混合使用旧版的DirectX SDK使用随VS 2012或更高版本的Windows 8的SDK,但你需要从传统订单中反转include/lib路径。还有一些其他的怪癖可以解决。

对于x86/Win32的配置:

$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86 
$(IncludePath);$(DXSDK_DIR)Include 
$(LibraryPath);$(DXSDK_DIR)Lib\x86 

对于x64本地配置:

$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86 
$(IncludePath);$(DXSDK_DIR)Include 
$(LibraryPath);$(DXSDK_DIR)Lib\x64