鱼C论坛

 找回密码
 立即注册
查看: 4587|回复: 1

vc6用wdk搭建环境出现的错误

[复制链接]
发表于 2013-2-11 15:40:15 | 显示全部楼层 |阅读模式
1鱼币
从网上找到了vc6搭建wdk 的说明文档!以下是文档内容!我是按文档内容一步一步做的!

1.安装好VC6和DWK,先后顺序无关。
    从开始菜单找到WDK的程序目录,进入“Windows XP Checked Build Environment”,输入命令"build",此时WDK将会把自己进行编译,大约需要1分钟。
2.VC6设置Include/Lib/Executable目录。
    设置为自己需要编译的平台的各个目录即可, Include要确保找到ntddk.h等,Lib与Include对应,Executable 要确保能找到cl.exe
例如XP平台下设置为:
include包含部分:
C:\WinDDK\7600.16385.1\inc\ddk
C:\WinDDK\7600.16385.1\inc\api
C:\WinDDK\7600.16385.1\inc\crt

lib连接库包含部分:
C:\WINDDK\7600.16385.1\LIB\WXP\I386
C:\WINDDK\7600.16385.1\LIB\WIN7\I386

执行文件包含:
C:\WINDDK\7600.16385.1\BIN
C:\WINDDK\7600.16385.1\BIN\X86
C:\WinDDK\7600.16385.1\bin\x86\x86
对于VC原有的路径,Include 和 Lib建议都删除掉,而Executable则将你新加的置顶,顺序不能错。其余建议保留(虽然编译驱动不会使用VC的Bin目录下的ml.exe、link.exe 等,但vc的代码提示等功能是需要bin目录下的一些程序来完成的,因此还是至少要保留VC原有的Bin目录,但必须在DDK的之后)。
3.建立一个空工程,Exe或者Dll都可以,然后直接修改工程属性:
要改的地方不少,描述各个选项还不如直接记录个文本的,清空C/C++和Link下面的Option文本框,按下面的填写。
C/C++ 选项填写:
/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 选项填写:
    NT式驱动为
ntoskrnl.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloDDK.pdb" /map:"MyDriver_Check/HelloDDK.map" /debug /machine:I386 /nodefaultlib /out:"MyDriver_Check/HelloDDK.sys" /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
    WDM式驱动为
wdm.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"SYS_Check/HelloWDM.pdb" /debug /machine:I386 /nodefaultlib /out:"SYS_Check/HelloWDM.sys" /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
4.保存配置,现在给这个空工程建一个c文件,复制以下内容:
#include <ntddk.h>
NTSTATUS DriverEntry(
        IN PDRIVER_OBJECT DriverObject,
        IN PUNICODE_STRING RegistryPath
        )
{
        NTSTATUS status = STATUS_UNSUCCESSFUL;
        return status;
}   
编译通过则配置成功!!!

出现的问题:vc6 编译之后总是提示2个警告!    但helloddj.sys的驱动文件已经生成了!
cl : Command line warning D9002 : ignoring unknown option '/MLd'
MyDriver_Check.c
Linking...
LINK : warning LNK4039: section 'INIT' specified with /SECTION option does not exist
HelloDDK.sys - 0 error(s), 2 warning(s)
怎样才能解决这个问题呢!让程序正常运行!




小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-13 10:11:26 | 显示全部楼层
下一个 打包好的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-8 10:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表