Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
移动到VS2012后,d3dx9.h上出现致命错误C1083 我有一个完美的Visual C++项目,直到我移动到VisualStudio 2012。p>_C++_Visual Studio 2012 - Fatal编程技术网

移动到VS2012后,d3dx9.h上出现致命错误C1083 我有一个完美的Visual C++项目,直到我移动到VisualStudio 2012。p>

移动到VS2012后,d3dx9.h上出现致命错误C1083 我有一个完美的Visual C++项目,直到我移动到VisualStudio 2012。p>,c++,visual-studio-2012,C++,Visual Studio 2012,我使用的是D3DX9,因此,包括D3DX9.h。然而,我在任何地方都会得到一个包含d3dx9.h的文件 正如我在中所读到的,DirectX SDK现在是Windows SDK的一部分。这似乎得到了以下事实的支持:当我导航到一个文件时,我没有收到错误,包括d3d9.h,我被发送到名为“Windows工具包”的文件夹中的某个文件夹,而不是DirectX SDK文件夹 因此,我将include directories设置更改为 $(IncludePath);C:\Program Files (x86)

我使用的是D3DX9,因此,包括D3DX9.h。然而,我在任何地方都会得到一个包含d3dx9.h的文件

正如我在中所读到的,DirectX SDK现在是Windows SDK的一部分。这似乎得到了以下事实的支持:当我导航到一个文件时,我没有收到错误,包括d3d9.h,我被发送到名为“Windows工具包”的文件夹中的某个文件夹,而不是DirectX SDK文件夹

因此,我将include directories设置更改为

$(IncludePath);C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include

但是编译器坚持忽略DirectX SDK文件夹,因为我仍然得到C1083错误

我不知道还能尝试什么。文件就在那里,项目用VS2010构建得很好,但正是VS2012编译器的这种坚持让我无法前进

我以前也能在构建窗口中看到发送给编译器的确切命令行,但现在我看不到了,因此我不知道如何诊断Visual Studio是否没有向编译器发送正确的命令行,或者编译器是否只是忽略了它

如何解决此问题

注意:文件确实存在,如果我将#include更改为

#include "C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3dx9.h"

这显然不是最优的…

如果您仍然有问题,我已经找到了解决方案。如果您使用的是内置的“工具包”,那么您需要在相关的标题中使用如下指令:

#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "dxguid.lib")
#pragma comment(lib, "DXGI.lib")

根据您使用的功能,您可能还需要其他功能。

奇怪的是,昨晚我一直在努力解决这个问题。Windows 8/VS2012现在似乎默认包含DirectX(工具包)。旧的DirectX SDK已经贬值了,如果您是为DX11.1开发的,那么可以,但是如果您有一个混合功能(或遗留)项目,那么就不那么简单了。如果我设置链接器并将目录包含到DXSDK中,我就能够进行编译,但是有很多宏重新定义消息。讨厌但不是致命的。
#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "dxguid.lib")
#pragma comment(lib, "DXGI.lib")