搭建開(kāi)發(fā)環(huán)境是開(kāi)發(fā)驅動(dòng)的第一步,這個(gè)搭建的過(guò)程還是有點(diǎn)小折騰的,在這兒我遇到的問(wèn)題記下來(lái),免得日后忘記,也希望可以幫到一些人。
其實(shí)問(wèn)題基本都處在DriverStudio3.2的安裝和編譯上。
下面就開(kāi)始了:
這三個(gè)軟件的安裝順序是:VS2005、Windows XP DDK、DriverStudio3.2。這是推薦的安裝順序。
首先,上網(wǎng)找Windows XP DDK安裝程序、DriverStudio3.2安裝程序、DriverStudio3.2的補丁DSDDKEnv.zip
補丁文件我上傳了,可以在這兒下http://download.csdn.net/source/2896238
默認VS2005已經(jīng)裝好了,然后裝DDK,DDK就一路默認裝就可以了。
(建議把DDK的所有Example都裝上,不然可能以后編譯時(shí)會(huì )缺少頭文件之類(lèi)問(wèn)題)
然后裝DriverStudio3.2,也是一路默認安裝就可以了(注:安裝目錄中不要出現空格,原因馬上講到)。
安裝過(guò)程中會(huì )出現一個(gè)錯誤對話(huà)框,大概是說(shuō)DSDDKEnv8.dll failed to register,選Ignore。
出現這個(gè)錯誤的原因是:Driver Studio 3.2在與VS2005集成的過(guò)程中出錯了,
這個(gè)錯誤我們將在DS3.2安裝完成后用補丁修復。
接下來(lái)補丁修復。
DSDDKEnv.zip解壓,用文件DSDDKEnv8.dll、DSDDKEnv8UI.dll分別替換掉...../DriverStudio/Common/Bin和DriverStudio/Common/Bin/1033目錄下的同名文件。
然后在開(kāi)始菜單的運行中分別輸入以下兩條命令:
regsvr32 -u <安裝目錄>\DriverStudio\Common\Bin\dsddkenv8.dll
regsvr32 <安裝目錄>\DriverStudio\Common\Bin\dsddkenv8.dll
注:如果<安裝目錄>中有空格,那么以上兩條命令會(huì )執行出錯。
這時(shí)打開(kāi)VS2005,其菜單欄的Tools中出現了DriverStudio子菜單。接下來(lái)還有以下幾個(gè)工作要做:
1:Tools->DriverStudio->DDK Build Settings設置DDK路徑,即將DDK Root Directory設置為C:/WINDDK/2600(根據自己的安裝路徑修改)
2:生成vdw_wdm.lib,這個(gè)庫文件在以后編譯驅動(dòng)時(shí)是需要的。過(guò)程如下:
首先,用VS2005打開(kāi)..../DriverStudio/DriverWorks/source/VdwLibs2005.sln;
將VdwLibs設為Active Project;
然后右擊VdwLibs->Properties,VdwLibs Property Pages頂部的Configuration和Platform要分別改成Active(WDM Checked)和win32 Active,這個(gè)很重要。
注1:這個(gè)一定要改對??!不然生成的vdw_wdm.lib是錯誤的,錯誤的庫會(huì )導致以后編譯驅動(dòng)時(shí)出錯,很煩的。
注2:檢查VdwLibs Property Pages->Librarian中的Output File是否為$(OutDir)/vdw_wdm.lib,如果不是,就改成這個(gè)。
最后編譯工程(用Tools->DriverStudio->Build Solution),vdw_wdm.lib就生成了。
應該到此就安裝完成了。大家可以用VS2005打開(kāi).../DriverStudio/DriverWorks/Examples/wdm中的一個(gè)例程,比如hellowdm。然后用菜單欄的Tools->DriverStudio->Build Solution with DDK Build.exe。如果生成正確,即在.../DriverStudio/DriverWorks/Examples/wdm/hellowdm/sys/objchk/i386中出現了HelloWdm.sys,那么就大功告成了,配置好了。
接下來(lái)我們用Tools->DriverWizard生成驅動(dòng)模板(具體怎么生成大家自己研究吧^_^)
驅動(dòng)工程文件生成后,同樣用Tools->DriverStudio->Build Solution with DDK Build.exe編譯時(shí),
會(huì )出現這個(gè)錯誤:1>NMAKE : U1073: don't know how to make 'C:/WINDDK/2600/lib/wxp/i386/ntstrsafe.lib'
出錯原因是:根本就沒(méi)有C:/WINDDK/2600/lib/wxp/i386/ntstrsafe.lib這個(gè)庫文件,這貌似是DS3.2的bug
解決辦法是:1:在Project的Property pages里的Link=>Input=>Additional Dependencies項中去掉這個(gè)庫
2:在Project的source文件中找到這句話(huà),刪掉就可以了哦:TARGETLIBS=$(DDK_LIB_PATH)/ntstrsafe.lib $(DDK_LIB_PATH)/csq.lib。
聯(lián)系客服