c++ - 无法打开源文件 d3dx10.h

标签 c++ visual-studio-2012

我刚刚在 visual studio 2012 ultimate 中做了一个项目。在该项目及其源文件中,我添加了一个 main.cpp 并尝试执行

#include <d3dx10.h>

我得到了错误

cannot open source file d3dx10.h

我使用的是 Windows 10,所以 DirectX 不是随附的吗?

最佳答案

Visual Studio 2012 包含提供 DirectX header 和库的 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

In a similar vein, I'd recommend using VS 2015 rather than VS 2012 which comes with the Windows 8.1 SDK. There have been a lot of C++11 language improvements and bug fixes since VS 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 native 配置:

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

关于c++ - 无法打开源文件 d3dx10.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42333236/

相关文章:

visual-studio-2012 - Visual Studio 2012 安装失败 : Program Compatibility Mode is on

c# - VS2012 和 VS2015 浮点/ double 转换的区别

python - 在 Python 中导入 C++ 共享对象时出现段错误

sql-server - Visual Studio SSDT Data Compare如何比较单个数据库中的两个表

c++ - 为什么类的大小取决于成员声明的顺序?如何?

c++ - boost::multiprecision 比较两个 cpp_int 值

c# - 为什么 Visual Studio 2012 不从我的 MySql 数据库生成 EDM 图表

c# - Visual Studio 如何从调试器序列化对象

C++类继承困惑

c++ - 在 C++ 中确定 32 位与 64 位