3
votes

I'm trying to compile SDL2 from the latest stable release (2.0.0). The build fails on Windows 8 in Visual Studio 2012 because of missing DirectX headers, specifically dxsdkver.h. I know that Microsoft merged the DirectX and Windows SDKs together in Windows 8, but I can't find this header anywhere in the Windows 8 or Windows 8.1 SDKs. However, I can find it in the old June 2010 DirectX SDK.

Is there a replacement for this header or has it been moved/renamed in the new Windows 8 SDKs? Or should I just continue to build against the old DirectX SDK?

2

2 Answers

1
votes

The only thing the dxsdkver header file does is #define some macros to the installed version of the DXSDK. If SDL2 requires this header, it looks like it may have some compile-time dependencies on different versions. In fact, looking at some snips from the code, one example is that SDL compiles without XAUDIO2 support if your SDK is older than a particular version. Until SDL2 is updated to target the Windows SDK, your safest bet is to build it against the latest DirectX SDK (June 2010).

1
votes

The latest SDL version from official Mercurial repository http://hg.libsdl.org/SDL compiles well on Windows 8. I recommend to use it instead of installing old DirectX SDK.