I'm trying to build the Mig Alley source code, and it needs an old version of DirectX. The issue is that DirectX is now included with the Windows SDK, so it keeps conflicting with the old DirectX SDK I'm trying to use. I've tried excluding the path, and rearranging my include paths to have the Windows SDK first.
Does anyone have any ideas? I can't get the correct DirectX 6 SDK to be used.
Errors:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\d3d9types.h(320): message : see declaration of '_D3DPRIMITIVETYPE'
D:\DIRX6SDK.98\include\d3dtypes.h(904,37): error C2011: '_D3DTRANSFORMSTATETYPE': 'enum' type redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\d3d9types.h(330): message : see declaration of '_D3DTRANSFORMSTATETYPE'
D:\DIRX6SDK.98\include\d3dtypes.h(923,34): error C2011: '_D3DRENDERSTATETYPE': 'enum' type redefinition
Remove the "DirectX 6" SDK completely from your build and it should work using DirectSound, DirectInput, Direct3D 6, etc. headers in the current Windows SDK. The problem you are having is that the headers in the legacy DirectX SDK were designed for ancient "Platform SDK" Windows headers.
Before including any of the Direct3D headers, do this:
#define DIRECT3D_VERSION 0x0600
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With