¶Windows SDK fun
I finally broke down and bought a new laptop... not that my old one was broken or anything, but I wanted something a little lighter than the 17" Inspiron I had before, and also something with a bit more CPU support than SSE2. The new laptop is a Latitude D830 with a 2.5GHz dual-core Penryn, which means I can now play with SSE3, SSSE3, and SSE4.1.
Well, now that my development environment is set up.
The stability of Windows, and the rate at which I install software, has slowed to the point that I generally don't reinstall Windows except in the event of a major hardware change. As a result new machines are an opportunity for me to wipe the slate clean. The problem in this case is that I had forgotten about the current mess that is the Windows SDK situation. Specifically, the migration of the DirectShow SDK from the DirectX SDK to the Platform SDK (now the Windows SDK), is still broken. VirtualDub now requires the DirectShow SDK to compile due to WDM capture support, so this is a bit of a showstopper. Unfortunately, that's not the only problem.
In a nutshell:
- dxtrans.h is missing from both the current Windows SDK (Windows Server 2008 + .NET Framework 3.5) and the current DirectX SDK (March 2008), and it's required by the DirectShow headers. Microsoft is considering fixing this in the Windows 7 SDK.
- Starting with the Vista version of the Windows SDK (v6), there is a conflict between intrinsics definitions in winnt.h and VS2005's intrin.h that causes a compile error if both are included.
After screwing around with this for about ten minutes, I got tired of it and just went back and installed the same Windows Server 2003 SP1 and DirectX August 2007 SDKs that I had on my old laptop. I shouldn't be changing base SDKs in a point release, anyway. Still, it bothers me that the Windows SDK versioning situation is so fragile; it's a bit annoying to explain to someone else how to build VirtualDub.
Of course, even after all of this, I haven't even gotten to checking the x64 build yet. My desktop has been on the fritz lately (nForce4 based motherboards suck), so I haven't actually been able to test the 64-bit build of VirtualDub in a while. In theory I can dual-boot into Vista64 now and get both my Vista and x64 testing done, but we'll see how that goes....