Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Windows 8 SDK renamed all headers and I don't know what to include now?

These are my headers from before I updated 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

Atleast half of them are missing in the new SDK...

Most of the core DirectX headers are renamed, I got around that, but half of them are just missing, like Dxerr.h and d3dx11async.h and even d3dx10math.h/xnamath.h (oh and when I include DirectXMath.h it still says that XMFLOAT3 is undefined). I don't know what to do now, does it say anywhere how to migrate from the June 2010 DirectX SDK to the Windows SDK 8.0?

like image 961
Brail Brailov Avatar asked Aug 26 '12 22:08

Brail Brailov


2 Answers

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

like image 45
quetzalcoatl Avatar answered Sep 19 '22 17:09

quetzalcoatl


XMFLOAT3 in DirectXMath.h is in namespace DirectX.

Try adding the following in the header file:

using namespace DirectX;

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

like image 99
Loul G. Avatar answered Sep 21 '22 17:09

Loul G.