Using DirectX11 (legacy) SDK with DirectXTK on Windows 7?

Nov 21, 2014 at 10:47 PM
Hi, I'm kinda new to DirectXTK... and whole DirectX. I started learning like two month ago. Now i have a problem with DirectXTK. I'm getting following errors:

1>c:\program files (x86)\windows kits\8.0\include\shared\dxgi1_2.h(1270): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\windows kits\8.0\include\shared\dxgi1_2.h(1270): error C2143: syntax error : missing ',' before '*'
1>c:\program files (x86)\windows kits\8.0\include\shared\dxgi1_2.h(1274): error C2061: syntax error : identifier 'DXGI_RGBA'

I'm using VisualStudio 2013 Express Update 4. I have installed Windows 8.0 and 8.1 kits. However i also have installed (and linked) DirectX June 2010 SDK. My OS is Windows 7 Home Premium SP1. As i saw on the web i think it's error between windows kits and legacy sdk. I want to ask if i can use theese two at once, if yes - how, if no - how to repair everything.

-- Regards
Coordinator
Nov 22, 2014 at 12:28 AM
Edited Nov 22, 2014 at 12:39 AM
Combing the legacy DirectX SDK with the Windows 8.x SDK is covered on MSDN under Using DirectX SDK projects with Visual Studio.

The easiest thing to do is to not use the legacy DirectX SDK at all. Just use VS 2013 Express for Windows Desktop which has the Windows 8.1 SDK included, and use DirectX Tool Kit rather than trying to use D3DX11. Make sure you don't have any VC++ Directories entries that reference the DirectX SDK (or DXSDK_DIR) in your project.

You also clearly have some other project configuration problem because with VS 2013 Express for Windows Desktop, you shouldn't be using the path:
c:\program files (x86)\windows kits\8.0\include
It should only be using
c:\program files (x86)\windows kits\8.1\include
Also, make sure you are using the "DirectXTK_Desktop_2013" project, and not an older one.

Try just opening this sample in VS 2013 Express for Windows Desktop, and let it upgrade it to v120 from v110. It should build fine.
Marked as answer by walbourn on 11/21/2014 at 4:28 PM