Here's an update with the versions of SDK's to use:
Cakewalk’s DXi2 SDK will compile with DirectX 9. These steps apply if you're trying to compile "AllSamples.dsw" projects in the DXi2 Development kit.
1. Get your compiler and libraries set up.
Required versions of DirectX 9 and Platform SDK:
Microsoft Direct X 9 SDK Summer 2003
http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&displaylang=en This can still be downloaded and is straightforward to get working with the Dxi2 SDK. Haven’t had any luck with the latest version.
Platform SDK Febraury 2003 is the version I used to get it working but now you have to order legacy PSDK CD’s from Microsoft. It’s possible to download the latest version to see if will work.
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ There are several unsupported functions in DX9 that didn't come with Visual C++ 6.0 default libraries and the platform SDK includes them.
Compiler:
Visual C++ 6.0 with SP6
2. Once you have the latest platform SDK installed, you have to set it up in Visual C++ as the preferred library to use. Visual C++ files are NOT overwritten when it gets installed, the platform SDK has it’s own folder and you have to make Visual C++ aware of it. This means going in to Options/Directories and setting these to appear FIRST in each list.
Executable Files: “E:\Program Files\Microsoft SDK\Binâ€
Include Files: “E:\Program Files\Microsoft SDK\Includeâ€
Library Files: “E:\Program Files\Microsoft SDK\Libâ€
Source Files: “E:\Program Files\Microsoft SDK\src\mfcâ€
3. After Direct X 9.0 SDK is installed go in to Options/Directories and set these to appear following Microsoft SDK entries in each list.
Executable Files:
Include Files: “E:\Program Files\DX90SDK\Includeâ€
“E:\Program Files\DX90SDK\Samples\C++\DirectShow\BaseClassesâ€
Library Files:â€E:\Program Files\DX90SDK\Libâ€
Source Files:
4. Download and install DXi2 Development Kit.
http://www.directxfiles.com/devxchange/dxi/default.asp 5. Set “MSSDK†Environment Variable:
In Control Panel, you have to go to System/Advanced/Environment Variables and set the System Variable "MSSDK" (don’t include the quotes) to the location you have DirectX 9 installed. This path cannot have space characters (e.g. "E:\Program Files\DX90SDK") or the linker will fail. The linker warning will be something obscure about not being able to find “program.obj.†That’s because the space in “Program Files†gets interpreted by the linker as “program.obj†The workaround is to use the 8 character version of the path such as "E:\Progra~1\DX90SDKâ€
MSSDK is a variable used in Visual C++ under Project Settings/C C++/Project Options in the “AllSamples.dsw†projects: /I "$(MSSDK)\include" /I "$(MSSDK)\Samples\Multimedia\DirectShow\BaseClasses"
You will have to restart Visual studio to make it take effect.
6. Version number check will fail in one of the files…
#if (VERSION_RES_MAJOR_VER != 8)
#error DirectX 8 SDK is required to build this project.
Just change it to
#if (VERSION_RES_MAJOR_VER < 8)
#error DirectX 8 or higher SDK is required to build this project.
7. Now it should compile and link and you ought to be able to hear the plugins play in Sonar.