VC驱动开发项目配置

前提:

为方便测试,使用的是Server03 X86系统,VS2008的VC SP1开发环境,和windows_WDK_EN_7600(7600.16385.1)版DDK开发包。关于DDK安装和配置,见其他相关文章。

配置:

一,配置系统环境变量:

我的电脑->右键->属性->系统属性->高级-环境变量->新建,配置好DDK路径

二,配置VS环境

打开VC2008->Tools->Options->Projects and Solutions->VC++ Directories->Include Files 和 Library files,增加如下引用目录:

注意:inc\api放置在引用首位后,程序编译时会报类似如下错误

         error C2065: '_In_' : undeclared identifier

        error C2065: '_In_opt_z_' : undeclared identifier

原因为SDK目录中的头文件与DDK中的冲突,而且SDK中的较新。所以临时删除DDK中的sal.h文件,或用较新的头文件替换。

备注:如果还需要使用DDK自带的命令方式编译实例代码,还需要DDK中原来的Sal.h文件。

三,VC工程 配置

新建Win32项目,选控制台或Windows项目

修改工程设置:

1,删除新建项目自带的debug和release

选中新建的项目,右键->properties

点击 configuration manager,新建一个编译配置项

驱动配置一般是checked和free对应程序开发的debug和release

为避免混淆,删除默认的debug和release配置

2,添加源文件(.cpp, .h, .rc等)

3,修改工程的具体配置项

            C/C++ 项:

            选择 常规 

                     调试信息:C7 兼容(/Z7)

                     警告等级:3级(/w3)

                     将警告视为错误:是

            选择 优化

                     优化:禁用(/0d)

              选择 预处理器

                      预处理器:WIN32=100;_X86_=1;DBG=1

       

              选择 代码生成   

                       启用最小生成:否

                      基本运行检查:默认

                      运行时库:多线程(/MT)

              选择 高级

                      调用约定:__stdcall (/Gz)

    连接器选项:

     选择  常规

               输出文件:$(OutDir)\$(ProjectName).sys

               启用增量连接:否(/INCREMENTAL:NO)

               附加库目录:$(DDKROOT)\lib\wxp\i386

               选择 输入

                       附加依赖项:ntoskrnl.lib

                       忽略所有默认库:是(/NODEFAULTLIB)

              选择 清单文件

                       启用用户账户控制(UAC):否

              选择 调试

                       生成调试信息:是

                       生成程序数据库文件:$(TargetDir)$(TargetName).pdb

              选择 系统

                      子系统:本机(/SUBSYSTEM:NATIVE)

                      堆栈保留大小:40000

                      堆栈提交大小:1000

                      驱动程序:驱动程序(/DRIVER)

              选择 高级

                      入口点:DriverEntry

                     随机基址:默认值

                     数据执行保护(DEP):默认值

                     目标计算机:MachineX86 (/MACHINE:X86)

这样基本配置就好了。

根据使用的具体模块和功能,再修改具体的工程配置

一般wdm驱动,还需要增加 wdm.lib 库文件。

猜你喜欢

转载自blog.csdn.net/wbj217/article/details/81126869