Windows XP以后的DDK越來越復雜,因為每個DDK都要支持多個操作系統和不同的CPU,其目錄結構較Windows 2000 DDK有很大不同。
我以前都是在Visual C++ 6.0的集成環境中使用DriverWorks,這次也不例外。啟動Visual C++ 6.0后,先點擊菜單的DriverStudio | DDK Build Settings項,設置好DDK的路徑。
然后打開C:\Program Files\Compuware\DriverStudio\DriverWorks\Source\vdwlibs.dsw,選擇菜單的Build?| Batch Build進行編譯,32位的庫(i386)都編譯成功了,kndiswdm.lib也都編譯成功,但是vdw_wdm.lib和vdw.lib的IA64和AMD64庫都報錯,沒有成功。錯誤出現在stl庫的_threads.h文件的442行:



再選擇DriverStudio | Build with BUILD.EXE,進行編譯,沒有任何錯誤,成功了

這真是出乎意料,我本來以為三種方法是一樣的,現在看來,Build with BUILD.EXE可能是Compuware內部使用的比較多的選項,測試比較完善。Build with BUILD.EXE一次只能編譯一個配置,所以還需要多次使用Build | Set Active Configuration才能完成所有的編譯工作。