在我迁移到 Visual Studio 2012 之前,我有一个运行良好的 Visual C++ 项目。
我正在使用 D3DX9,因此,我是#include d3dx9.h。但是,在我包含包含 d3dx9.h 的文件的任何地方,我都会收到致命错误 C1083
正如我在本页中所读到的,DirectX SDK 现在是 Windows SDK 的一部分。这似乎得到了以下事实的支持:当我导航到一个文件时,我没有收到错误,包括 d3d9.h,我被发送到一个名为“Windows Kits”的文件夹中的某个文件夹,而不是 DirectX SDK 文件夹。
所以我将包含目录设置更改为
$(IncludePath);C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include
或者
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include;$(IncludePath)
但是编译器坚持忽略 DirectX SDK 文件夹,因为我仍然收到 C1083 错误。
我不知道还能尝试什么。文件在那里,项目在 VS2010 中构建得很好,但是 VS2012 编译器的这种坚持并没有让我继续前进。
我以前也能在构建窗口中看到发送到编译器的确切命令行,但现在不能,所以我不知道如何诊断 Visual Studio 是否没有向编译器发送正确的命令行,或者如果编译器只是忽略它。
我该如何解决这个问题?
注意:该文件确实存在,如果我将#include 更改为
#include "C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3dx9.h"
这显然不是最优的......