0

最近我拿起一本关于使用 Visual C++ 进行游戏编程的书。它使用 DirectX 库,并说我只需要在代码中写入 #include 和 #pragma comment(lib, "d3dx9.lib") 即可。但是程序报告无法找到 d3dx.h。我怎样才能解决这个问题。

我尝试在项目属性-配置属性-链接器-输入-附加依赖项中添加该文件,但它仍然找不到该文件。如果有任何改变,我正在使用 Visual Studio 2010。

我报告为致命错误 C1083:无法打开包含文件:'d3dx.h':没有这样的文件或目录。

4

1 回答 1

1

您应该阅读这篇博文Microsoft Docs

TL;DR: Direct3D 9 是旧版,D3DX 已弃用,DirectX SDK(2010 年 6 月)是生命周期结束的版本。您仍然可以使用它,但此时最好学习 DirectX 11。

否则,请从Microsoft 下载安装旧版 DirectX SDK(2010 年 6 月) 。请注意,对于 VS 2010,您必须手动更新 VC++ 目录以引用 DirectX SDK。

x86:

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

x64:

<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>

使用 VS 2012 或更高版本,您必须颠倒这些路径顺序(即将 DXSDK_DIR 路径放在现有路径之后),如本页底部所述。

您还应该注意这个已知问题,它可能会导致安装旧版 DirectX SDK 出现问题。

于 2019-08-01T19:08:37.257 回答