分类: WINDOWS
2010-11-24 17:12:49
使用VS2008编译驱动教程SRC工作室精简版
VS2008环境编译驱动、VC9驱动编译配置、VC9集成环境下编译驱动
我所使用的环境VS2008专业版、GRMWDK_EN_7600_1
一、 新建一个空的win32控制台程序
二、 选项目菜单→添加现有项→添加所有驱动相关的*.h,*.c,*.cpp,*.rc之类的文件。
三、 在菜单栏选:工具→选项.→项目和解决方案→VC++目录→之后进行下面的设置
四、
a、可执行文件:
E:\WinDDK\7600.16385.0\bin\x86
E:\WinDDK\7600.16385.0\bin\x86\x86
E:\WinDDK\7600.16385.0\tools\pfd\bin\bin\x86
b、包含文件:
E:\WinDDK\7600.16385.0\inc\ddk
E:\WinDDK\7600.16385.0\inc\crt
E:\WinDDK\7600.16385.0\inc\api
c、引用文件:
E:\WinDDK\7600.16385.0\lib\wxp\i386
d、库文件:
E:\WinDDK\7600.16385.0\lib
E:\WinDDK\7600.16385.0\lib\wxp\i386
e、源文件:
E:\WinDDK\7600.16385.0\src
五、 项目属性设置
***新建项目配置 Test ***
(一)C/C++属性设置
常规选项卡:
1调试信息格式(C7兼容(/Z7) //可选
2警告等级 (2级(/W2) //可选
优化选项卡:
无视它
预处理器:
预处理器定义: //必选
代码生成:
运行时库:多线程调试(/MTd) 或 多线程(/MT) //建议选
缓冲区安全检查:否 //可选
(可避免出现 LINK : error LNK2001: 无法解析外部符号 __security_cookie)
高级:
调用约定 __stdcall(/Gz) //必选
(二)链接器
常规:
输出文件: //必选
启用增量链接:否(/INCREMENTAL:NO) //建议选上
输入:
附加依赖项:wdm.lib
清单文件:
启用用户账户控制(UAC) 否 //必选 不然会出现 >LINK : fatal error LNK1295: “/MANIFESTUAC”与“/DRIVER”规范不兼容;链接时不使用“/MANIFESTUAC”
调试:
无视它
系统(System):
子系统:控制台(/SUBSYSTEM:CONSOLE) //必选
驱动程序: 驱动程序(/DRIVER) //必选
高级:
入口点:DriverEntry //必选
随机基址:默认值 //必选 不然会出现
1>G:\event2008\check\event2008.exe : fatal error LNK1295: “/DYNAMICBASE”与“/DRIVER”规范不兼容;链接时不使用“/DYNAMICBASE”
数据执行保护(DEP): 默认值 //必选
不然会出现 G:\event2008\check\event2008.sys : fatal error LNK1295: “/NXCOMPAT:NO”与“/DRIVER”规范不兼容;链接时不使用“/NXCOMPAT:NO”