我刚在Visual Studio 2012 Ultimate中创建了一个项目。在该项目及其源文件中,我添加了一个main.cpp并尝试进行操作。
#include <d3dx10.h>
我收到了错误信息。
cannot open source file d3dx10.h
我正在使用Windows 10,那么DirectX不是已经随着包含在内了吗?
我刚在Visual Studio 2012 Ultimate中创建了一个项目。在该项目及其源文件中,我添加了一个main.cpp并尝试进行操作。
#include <d3dx10.h>
cannot open source file d3dx10.h
Visual Studio 2012 包含 Windows 8 SDK,提供 DirectX 头文件和库,但不包括已弃用的辅助工具代码。D3DX 实用程序库(D3DX9、D3DX10 和 D3DX11)以及传统的 DirectX SDK 都已被弃用。请参见 MSDN。
最好的建议是使用 Direct3D 11 而不是 Direct3D 10。Direct3D 11 在所有支持的平台上完全替代了 Direct3D 10,可以在更广泛的视频硬件上工作,并具有一套完整的开源实用程序代码替代方案。
没有D3DX的生活
DirectX SDK(2015版)在哪里?
DirectX SDK示例目录
DirectX SDK工具目录
Direct3D功能级别
如果需要,您可以将传统的DirectX SDK与附带VS 2012或更高版本的Windows 8 SDK混合使用,但您需要反转包含/库路径的传统顺序。还有一些其他的怪癖可以解决。同样地,我建议使用VS 2015而不是带有Windows 8.1 SDK的VS 2012。自VS 2012以来,已经进行了许多C++11语言改进和错误修复。
$(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