最近开始学习驱动开发,买了本<Windows驱动开发技术详解>,看了上面介绍的使用VC编译驱动程序的方法,却发现自己试不来,不知症结何在,现把书中第一章 1.3.2中介绍的步骤列出请高手指点下卡壳之处。
1。用vc新建一个工程。
在"project"选项卡中,选择win32 Application,选择一个空的工程。
2。将两个源文件Driver.h和Driver.cpp拷贝到工程目录中,并添加到工程中。
3。增加新的编译版本,去掉Debug 和Release 版本。(这一步不知如何操作,哪位能够手把手的说一下?(15楼已经回复了))
4。修改工程属性。选择"Project|Setting",或者直接按下Alt+F7键,弹出"Project Settings"。在对话框中,选择“General”选项卡。将Intermediate files和Output files改为MyDriver_Check.
选择C/C++选项卡,将原有的Project Options 内容全部删除替换成如下内容:
/nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D
WINVER=0X500 /D DBG=1 /Fo"MyDriver_Check/" /Fd"MyDriver_Check/" /FD /c
选择Link选项卡,将原有的Project Options 内容全部删除,替换成如下内容:
ntoskrnl.lib /nologo /base:"10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloDDK.pdb" /debug /machine:I386/nodefaultlib /out:"MyDriver_Check/HelloDDk.sys" /pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
5。修改VC的lib目录和include目录。
在vc中选择"Tools"|"Options",在弹出的对话框中选择“Directories”选项卡。在“Show directories for”下拉菜单中选择“Include files”菜单,添加“D:\WINDDK\2600.1106\INC\W2K”和“D:\WINDDK\2600.1106\INC\DDK\W2K”并将这两个目录置于最上。读者可将“D:\WINDDK\2600.1106”替换成自己的DDK安装目录。
新增修改:在这一步,我在虚拟机windows 2000中的设置路径为C:\NTDDK\INC和C:\NTDDK\INC\DDK.
在"Show directories for "下拉菜单中选择“Library files”菜单,添加目录“D:\WINDDK\2600.1106\LIB\W2K\I386”并置于最上端。
新增修改:在这一步,我在虚拟机windows 2000中的设置路径为C:\NTDDK\LIB\I386并置于最上端.
6。编译。
按下F7键。
新增修改:在虚拟机win2K中出错,LINK : fatal error LNK1181: cannot open input file "ntoskrnl.lib".没关系,到另一台装了 DDK 2k3 机子上去把\WINDDK\ 3790.1830\lib\win2k\i386目录中的相应文件拷贝到C:\NTDDK\LIB\I386目录下就行了.现在再次按下F7,OK,编译通过.
最后要对各位回帖的朋友表示感谢,尤其是kondo的指点,谢之! 2008.10.28日修改.
另外本人建了一个QQ群主要是交流驱动学习,群号67181435.
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课