SDK DDK 目录配置方法

大企龙卷风集成安装版 VC++.6.0.with.SP6免序列号.ISO 中文和英文版 这个自己讯雷搜下 ======================================== vc6.0 sdk目录配置方法这样解决: 1。从微软站点下载最新的platform sdk for windows r2,必须要下载光盘镜像版本,文件名是*.img,大概300-400M左右。 2,安装daemon tools虚拟光驱软件,安装后,选择第一步下载的镜像文件(要在文件选择下拉框中选择所有文件)。 3。从虚拟光盘中安装platform sdk,按照提示安装就可以了。最后会提示注册VS环境路径 4。由于你安装了VS2005,和VS6,但是最终只有VS2005可以顺利注册包含文件和库文件的搜索路径 5。手工配置vc6的搜索目录,打开vc6,菜单tools-options-directories.增加以下路径 executable files 你的platform安装路径\bin 你的platform安装路径\bin\winnt include file 你的platform安装路径\include library files 你的platform安装路径\lib source files 可添加也可不添加 配置完之后,可以调整各路径与原有路径的前后次序,因为编译和连接的时候是按照顺序寻找相应的include和lib。为了保证用上最新的,你可以把路径放在原来的配置中vc6自带的sdk路径前面。 上面只是一个配置sdk的方法,至于能否解决你的问题,只有尝试之后才知道了 最后一个支持vc6.0的sdk ================================================================ 首先装vc,再装上面这个03系统的sdk http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en 但是!还是有部分那撒没引用,或者说,首要顺序不是sdk的,而是采取的默认的vc的 法子是: 在vc的tool->option里头,选取directories,你会看到N个玩意 就是include,lib,src, 你把每个sdk目录(E:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include这样的)都拖到第一个就ok了,基本上能解决问题   --------------------Configuration: gh0st - Win32 Release-------------------- Compiling... StdAfx.cpp Automatically linking with CJ60StaticLib.lib Compiling... Audio.cpp AudioDlg.cpp Automatically linking with CJ60StaticLib.lib BmpToAvi.cpp BtnST.cpp E:\程序制作\gh0st3.6_src\gh0st\control\BtnST.cpp(22) : warning C4005: 'BS_TYPEMASK' : macro redefinition D:\PROGRAM FILES\MICROSOFT PLATFORM SDK FOR WINDOWS SERVER 2003 R2\INCLUDE\winuser.h(9019) : see previous definition of 'BS_TYPEMASK' Buffer.cpp BuildView.cpp CpuUsage.cpp CustomTabCtrl.cpp FileManagerDlg.cpp E:\程序制作\gh0st3.6_src\gh0st\FileManagerDlg.cpp(1577) : warning C4129: '*' : unrecognized character escape sequence E:\程序制作\gh0st3.6_src\gh0st\FileManagerDlg.cpp(1864) : warning C4129: '*' : unrecognized character escape sequence E:\程序制作\gh0st3.6_src\gh0st\FileManagerDlg.cpp(1888) : warning C4129: '*' : unrecognized character escape sequence E:\程序制作\gh0st3.6_src\gh0st\FileManagerDlg.cpp(1905) : warning C4129: '*' : unrecognized character escape sequence FileTransferModeDlg.cpp gh0st.cpp gh0stDoc.cpp gh0stView.cpp HoverEdit.cpp IniFile.cpp InputDlg.cpp IOCPServer.cpp KeyBoardDlg.cpp MainFrm.cpp ScreenSpyDlg.cpp SettingsView.cpp SEU_QQwry.cpp ShellDlg.cpp SystemDlg.cpp TabSDIFrameWnd.cpp ThemeUtil.cpp TrayIcon.cpp TrueColorToolBar.cpp WebCamDlg.cpp WinXPButtonST.cpp Linking... LINK : warning LNK4049: locally defined symbol "__mbsnbcpy" imported LINK : warning LNK4049: locally defined symbol "_memmove" imported LINK : warning LNK4049: locally defined symbol "_ceil" imported LINK : warning LNK4049: locally defined symbol "_strstr" imported LINK : warning LNK4049: locally defined symbol "__mbscmp" imported LINK : warning LNK4049: locally defined symbol "_vsprintf" imported LINK : warning LNK4049: locally defined symbol "_free" imported LINK : warning LNK4049: locally defined symbol "_malloc" imported LINK : warning LNK4049: locally defined symbol "_atol" imported LINK : warning LNK4049: locally defined symbol "_wcslen" imported LINK : warning LNK4049: locally defined symbol "_wcscpy" imported LINK : warning LNK4049: locally defined symbol "__beginthreadex" imported LINK : warning LNK4049: locally defined symbol "_atoi" imported Creating browse info file... gh0st.exe - 0 error(s), 18 warning(s) =============================================================================== vc 6.0中开发驱动设备程序配置方法刚开始利用ddk开发驱动程序的时候采用的是ultraedit编辑工具,然后编译安装驱动程序. 参考www.USBSOLUTION.COM,现在介绍在vc中开发驱动程序的配置方法. 一. 准备工作 1.首先创建一个你的驱动工程文件目录。这个目录下用来放置你的各个驱动工程文件夹。(比如我在D盘创建了一个MyDrivers文件夹作为我的驱动工程文件目录) 2. 然后添加两个用户环境变量,一个是DDKROOT,他的值应该是你所安装DDK的根目录。(比如在安装DDK时安装到了d:\WINDDK\2600,那 么 DDKROOT的值应该为d:\WINDDK\2600),另外一个变量是WORKPATH,这个变量的值就应该是你第一步所创建的驱动工程目录的路径。 (若按本文,WORKPATH的值应该是D:\MyDrivers ),这两个变量会在我们接下来的工程配置中要用到,当然既然是变量,他们的名称是随你的喜欢了。 //这里要注意的是,如果以后你创建了一个新的工程之后,这里需要改动 3.最后在D:\MyDrivers下创建一个名称为DIRS的无扩展名的文件。用记事本打开它,写上 DIRS=Driver1。Driver1是你的驱动文件所在的文件夹名. 如果以后有新的工程也要把工程名称添加到这里 DIRS= \ irda \ config \ ndis \ wshsmple \ modem 也就是 在本目录下面有 irda config ndis wshsmple modem这 几个工程 //MakeDriver.bat应该放在工程目录下面 4.写一个MakeDriver.bat批处理文件.如下.(直接copy,不用修改) @echo off if "%1"=="" goto usage1 if "%3"=="" goto usage2 if not exist %1\bin\setenv.bat goto usage3 call %1\BIN\setenv %1 %4 %2 cd %3 build -b -w %5 %6 %7 %8 goto ok :usage1 echo Error: the first parameter is NULL! goto exit :usage2 echo Error: the third parameter is NULL! goto exit :usage3 echo Error: %1\bin\setenv.bat not exist! goto exit :ok echo MakeDriver %1 %2 %3 %4 :exit 二.建立一个Makefile工程 下面我将要建立一个Driver1的工程。他的路径将是D:\MyDrivers\Driver1 1.打开vc6.0,建立一个Makefile的新工程,输入工程名(比如:Driver1)及路径(我们要选择你所创建的驱动工程文件目录D:\MyDrivers)。 2.在Debug配置对话框中输入如下: //红色的D:应该特别注意,不然的话不能成功哦 Build Command Line: MakeDriver %DDKROOT% D: %WORKPATH% CHECKED 注意:D: %WORKPATH% CHECKED ,如果你的驱动工程文件的目录为E:\myDrivers 则应该修改为 Build Command Line: MakeDriver %DDKROOT% E: %WORKPATH% CHECKED 这个地方曾经出错,调试了半天,haha Rebuild all optines: -nmake/a Output file name: 改为sys扩展文件( 比如: Driver1.sys ) 3.在Release配置对话框中输入如下: Build Command Line: MakeDriver %DDKROOT% D: %WORKPATH% FREE Rebuild all optines: -nmake/a Output file name: 改为sys扩展文件( 比如: Driver1.sys ) 4.工程配置结束,选择Finish按钮 这时我们可以看到我们的驱动工程文件目录中已经有了一个Driver1的工程文件夹,我们的驱动程序就放在这个文件夹下面。 三.还需要两个文件 还有两个文件是必须的 makefile和sources,将他们拷贝到工程文件夹,也就是D:\MyDrivers\Driver1中,但sources文件一般需要我们改写,makefile直接从ddk目录中拷贝来一个放在工程文件夹下就行了。 在sources文件中一般需要改写的部分如下: TARGETNAME=DRIVER1 INCLUDES=$(DDKROOT)\inc; \ $(DDKROOT)\inc\DDK TARGETLIBS=$(DDK_LIB_PATH)\usbd.lib \ $(DDK_LIB_PATH)\ntoskrnl.lib SOURCES = driver1.cpp TARGETNAME 的值是你驱动程序的名字,比如我的会输出DRIVER1.SYS INCLUDES 将所有你所用到的内核函数,他们所在的头文件的路径添加进来。 TARGETLIBS 将所有你所用到的内核函数,他们所在的库文件的路径添加进来。 SOURCES 就是你工程文件夹需要编译的所有文件名,包括.CPP,.C,.RC文件 好了,基本上可以编写驱动程序了. 然后你就可以编写windows程序一样,写驱动程序. 如果编译成功的话,就会在.\objchk\i386下面生成 *.sys了 注: 这里的方法和 .\驱动开发学习笔记.doc中所述的方法稍微有点差别,本篇文章所使用的方法是静态的方法,自己手动添加用户变量,但是.\驱动开发学习笔记.doc所说的方法是让setenv.bat去设置环境变量, 另外一种配置方法: 1.      然后添加两个用户环境变量,一个是DDKROOT,他的值应该是你所安装DDK的根目录。(比如在安装DDK时安装到了d:\WINDDK\2600,那 么 DDKROOT的值应该为d:\WINDDK\2600),另外一个变量是WORKPATH,这个变量的值就应该是你第一步所创建的驱动工程目录的路径。 (若按本文,WORKPATH的值应该是D:\MyDrivers ),这两个变量会在我们接下来的工程配置中要用到,当然既然是变量,他们的名称是随你的喜欢了。 2.      写一个批处理文件 built.bat(内容不变) @echo off rem ----------------------------------------------------------- rem usage: rem    build.bat [] rem ----------------------------------------------------------- if exist *.sys del *.sys if exist .\objchk\i386\*.pdb del .\objchk\i386\*.pdb if exist .\objfre\i386\*.pdb del .\objfre\i386\*.pdb if exist .\objchk\i386\*.sys del .\objchk\i386\*.sys if exist .\objfre\i386\*.sys del .\objfre\i386\*.sys :start set DDKOPT=%1 if "%DDKOPT%" == "" set DDKOPT=free pushd . if not exist %DDKROOT%\bin\setenv.bat goto :SetenvNotFound call %DDKROOT%\bin\setenv.bat %DDKROOT% %DDKOPT% popd if exist %DDKROOT%\bin\x86\build.exe goto :start %DDKROOT%\bin\build.exe :start %DDKROOT%\bin\x86\build.exe if "%DDKOPT%" == "checked" goto :CopyChecked if "%DDKOPT%" == "chk" goto :CopyChecked if "%DDKOPT%" == "free" goto :CopyFree if "%DDKOPT%" == "fre" goto :CopyFree goto :exit :CopyChecked if exist .\objchk\i386\*.sys move .\objchk\i386\*.sys . goto :exit :CopyFree if exist .\objfre\i386\*.sys move .\objfre\i386\*.sys . goto :exit :SetenvNotFound echo Can't found Setenv.bat. goto :exit :exit set DDKOPT= del *.log pause 3.      MAKEFILE (不变) # # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source # file to this component. This file merely indirects to the real make file # that is shared by all the driver components of the Windows NT DDK # !INCLUDE $(NTMAKEENV)\makefile.def 4.      Sources (更改两处) TARGETNAME=HelloWorld2 (生成的.sys名称) TARGETPATH=obj TARGETTYPE=DRIVER #    $(DDK_LIB_PATH)\ndis.lib MSC_WARNING_LEVEL=-W3 -WX MSC_OPTIMIZATION=/Odi INCLUDES= C_DEFINES= $(C_DEFINES) -DUNICODE -D_UNICODE C_DEFINES=$(C_DEFINES) -DNDIS50_MINIPORT=1 C_DEFINES=$(C_DEFINES) -DNDIS50=1 SOURCES          =    HelloWorld.c (源文件) ==================================================
posted @ 2012-07-16 13:55  adodo1  Views(386)  Comments(0Edit  收藏  举报