Windows 8 SDK重命名了所有标题,而我不';我不知道现在包括什么?

Windows 8 SDK重命名了所有标题,而我不';我不知道现在包括什么?,sdk,windows-8,winapi,directx-11,Sdk,Windows 8,Winapi,Directx 11,以下是我更新到新SDK之前的标题: #pragma once #ifndef _EXTERNAL_DEPENDENCIES_H_ #define _EXTERNAL_DEPENDENCIES_H_ #if defined(DEBUG) || defined(_DEBUG) #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> #endif #include <windows.h> #include <time.h>

以下是我更新到新SDK之前的标题:

#pragma once

#ifndef _EXTERNAL_DEPENDENCIES_H_
#define _EXTERNAL_DEPENDENCIES_H_

#if defined(DEBUG) || defined(_DEBUG)
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
#endif

#include <windows.h>
#include <time.h>
#include <mmsystem.h>
#include <cassert>
#include <ctime>
#include <algorithm>
#include <string>
#include <sstream>
#include <fstream>
#include <vector>
#include <assert.h>
#include <fcntl.h>
#include <pdh.h>
#include <stack>
#include <map>
#include <memory>
#include <random>
#include <xaudio2.h>
#include <x3daudio.h>
#include <xaudio2fx.h>
#include <ogg\ogg.h>
#include <ogg\os_types.h>
#include <vorbis\codec.h>
#include <vorbis\vorbisenc.h>
#include <vorbis\vorbisfile.h>

#include "d3dx11Effect.h"
#include <d3dx11.h>
#include <xnamath.h>
#include <dxerr.h>
#include <dinput.h>
#include <d3dcommon.h>
#include <dxgi.h>
#include <d3d11.h>
#include <d3dcompiler.h>
#include <d3dx10math.h>
#include <d3dx11async.h>
#include <D3DX11tex.h>
#include <gdiplus.h>

#pragma comment (lib, "gdiplus.lib")
#pragma comment (lib, "winmm.lib")
#pragma comment (lib, "dxguid.lib")  
#pragma comment (lib, "d3dx9d.lib")  
#pragma comment (lib, "d3dx10d.lib")  
#pragma comment (lib, "d3d11.lib")  
#pragma comment (lib, "d3dx11.lib")        
#pragma comment (lib, "dxgi.lib")
#pragma comment (lib, "dxgi.lib")
#pragma comment (lib, "dxerr.lib")
#pragma comment (lib, "d3dx10.lib")
#pragma comment (lib, "wsock32.lib")
#pragma comment (lib, "dinput8.lib")
#pragma comment (lib, "dxguid.lib")
#pragma comment (lib, "pdh.lib")
#pragma comment (lib, "comctl32.lib")
#pragma comment (lib, "xaudio2.lib")
#pragma comment (lib, "x3daudio.lib")
#pragma comment (lib, "libogg.lib")
#pragma comment (lib, "libogg_static.lib")
#pragma comment (lib, "libvorbis.lib")
#pragma comment (lib, "libvorbisfile.lib")

#pragma warning (disable : 4482)

#endif
#pragma一次
#ifndef(外部依赖)_
#定义外部依赖关系_
#如果已定义(调试)| |已定义(_调试)
#定义\u CRTDBG\u映射\u ALLOC
#包括
#恩迪夫
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括“d3dx11Effect.h”
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#pragma注释(lib,“gdiplus.lib”)
#pragma注释(lib,“winmm.lib”)
#pragma注释(lib,“dxguid.lib”)
#pragma注释(lib,“d3dx9d.lib”)
#pragma注释(lib,“d3dx10d.lib”)
#pragma注释(lib,“d3d11.lib”)
#pragma注释(lib,“d3dx11.lib”)
#pragma注释(lib,“dxgi.lib”)
#pragma注释(lib,“dxgi.lib”)
#pragma注释(lib,“dxerr.lib”)
#pragma注释(lib,“d3dx10.lib”)
#pragma注释(lib,“wsock32.lib”)
#pragma注释(lib,“dinput8.lib”)
#pragma注释(lib,“dxguid.lib”)
#pragma注释(lib,“pdh.lib”)
#pragma注释(lib,“comctl32.lib”)
#pragma注释(lib,“xaudio2.lib”)
#pragma注释(lib,“x3daudio.lib”)
#pragma注释(lib,“libogg.lib”)
#pragma注释(lib,“libogg_static.lib”)
#pragma注释(lib,“libvorbis.lib”)
#pragma注释(lib,“libvorbisfile.lib”)
#杂注警告(禁用:4482)
#恩迪夫
在新的SDK中至少有一半丢失了


大多数核心DirectX头文件都被重命名了,我绕过了这个问题,但其中一半都丢失了,比如Dxerr.h和d3dx11async.h,甚至还有d3dx10math.h/xnamath.h(当我包括DirectXMath.h时,它仍然说XMFLOAT3是未定义的)。我不知道现在该怎么办,它是否说明了如何从2010年6月的DirectX SDK迁移到Windows SDK 8.0?

grep
,通过新的头为您使用的函数创建头,这些头现在已丢失。或者,函数的MSDN文档可能会告诉您需要什么头文件。

您是否尝试过这些注释?特别是第5点和第7点、第8点、第9点和第10点非常重要。

DirectXMath.h中的XMFLOAT3位于名称空间DirectX中

尝试在头文件中添加以下内容:

using namespace DirectX;

你也可以包含
而不是直接包含

(该网站存在漏洞,并且没有显示完整帖子,所以这里是:)大多数核心DirectX头都被重命名了,我绕过了这一点,但其中一半只是丢失了,比如Dxerr.h和d3dx11async.h,甚至请删除此评论,并请注意下次你在文本中的内容。您使用了