The Windows 8 SDK has renamed all headers and I donโ€™t know what to enable now?

These are my headers before I upgraded to the new 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 

At least half of them are missing in the new SDK ...

Most of the main DirectX headers are renamed, I went around this, but half of them are simply missing, like Dxerr.h and d3dx11async.h and even d3dx10math.h / xnamath.h (oh and when I turn on DirectXMath. H it still says XMFLOAT3 undefined). I donโ€™t know what to do now, is it not talking about how to transfer the DirectX SDK to the Windows SDK 8.0 from June 2010?

+6
source share
3 answers

XMFLOAT3 in DirectXMath.h is in the DirectX namespace.

Try adding the following to the header file:

 using namespace DirectX; 

You can also include <xnamath.h> instead of directly including <DirectXMath.h> or <D3DX10Math.h>

+7
source

Have you tried the entries from http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275(v=vs.85).aspx#sdk_vs11 ? paragraphs 5 and 7,8,9,10 are especially important.

+3
source

grep through new headers for functions that you use from headers that are now missing. In addition, the MSDN documentation for functions can tell you which header file you need.

0
source

Source: https://habr.com/ru/post/923812/


All Articles