DriverWorks在安裝之后不能立即使用,需要先編譯庫文件,然后才能正常使用。我以前在Windows 2000下使用過DriverWorks,感覺編譯庫文件非常容易,但這次在Windows Server 2003 SP1 DDK(3790.1830)下進行編譯還是遇到一些困難,特別記錄下來,以免忘記。
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行:
#?else????????//*ty?11/24/2001?-?added?configuration?check
#??error?"Unknown?thread?facility?configuration"
#?endif 在Google上搜了一下,未果;又去驅動開發網上找了一下,沒有什么有用的信息,一時陷入了困境。又看了一下幫助,發現它提到編譯庫一共有三種方法,而我用的只是其中的一種,決定再嘗試一種。首先,使用Build | Set Active Configuration切換到Vdwlibs - Win32 AMD64 NT 4 Free項。

再選擇DriverStudio | Build with BUILD.EXE,進行編譯,沒有任何錯誤,成功了
這真是出乎意料,我本來以為三種方法是一樣的,現在看來,Build with BUILD.EXE可能是Compuware內部使用的比較多的選項,測試比較完善。Build with BUILD.EXE一次只能編譯一個配置,所以還需要多次使用Build | Set Active Configuration才能完成所有的編譯工作。
posted on 2006-07-09 10:22
zealsoft 閱讀(1494)
評論(2) 編輯 收藏 引用 所屬分類:
驅動開發