我有一个完美的Visual C ++项目,直到我转到Visual Studio 2012.
我正在使用D3DX9,因此,我是#include d3dx9.h。但是,我到处都是fatal error C1083我包含的文件包括d3dx9.h
当我在this page中读到时,DirectX SDK现在是Windows SDK的一部分。这似乎得到以下事实的支持:当我导航到文件时,我没有收到错误,例如d3d9.h,我被发送到名为“Windows Kits”的文件夹内的某个文件夹而不是DirectX SDK文件夹。
所以我将include目录设置更改为
$(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"
这显然不是最佳的......
答案 0 :(得分:0)
如果您仍然遇到问题,我已经找到了解决方案。如果您使用内置的“套件”,那么您需要在相关标头中使用这些指令:
#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "dxguid.lib")
#pragma comment(lib, "DXGI.lib")
根据您使用的功能,您可能还需要其他功能。