none
VS2012+WDK8.0编译WDM代码 RRS feed

  • 问题

  • 微软官方文档 驱动程序入门 上的WDK开发都是MDF的,没有WDM的!

    现在我自己测试了一下WDM代码的编译,发现了问题!

    代码是一个简单的HelloWDM,

    #include <NTDDK.h>
    
    NTSTATUS 
    DriverEntry(
    			__in PDRIVER_OBJECT DriverObject, 
    			__in PUNICODE_STRING RegisterPath
    			)
    {
    	DbgPrint("Hong,Hello World!!!");
    	return	STATUS_SUCCESS;
    }
    

    编译结果有错误:

    1>源.cpp(7): error C2220: 警告被视为错误 - 没有生成“object”文件
    1>源.cpp(7): warning C4100: “RegisterPath”: 未引用的形参
    1>源.cpp(5): warning C4100: “DriverObject”: 未引用的形参
    2>------ 已启动生成: 项目: MyDriver2 Package, 配置: Vista Debug Win32 ------
    2>C:\Program Files (x86)\Windows Kits\8.0\build\WindowsDriver8.0.common.targets(1347,5): error MSB3030: 无法复制文件“E:\MyCode\HongTest\MyDriver2\VistaDebug\MyDriver2.sys”,原因是找不到该文件。
    ========== 生成: 成功 0 个,失败 2 个,最新 0 个,跳过 0 个 ==========

    无法生成sys文件!!

    后来又测试了一下完整的WDM驱动代码(产品),发现基本还是一样的错误!

    求解怎么回事?

    VS2012+WDK开发WDM程序怎么编译生成sys!

    2012年9月19日 7:11

全部回复

  • 关键是第一个错误:警告被视为错误。这是编译驱动程序时的默认配置。由于下面有两个警告,编译就不能进行下去了。

    2012年10月18日 10:43
  • 关闭 将警告视为错误

    项目 -> 属性 -> 配置属性 -> C/C++  -> 常规 -> 将警告视为错误 选择 否(/WX-)

        

    2013年1月28日 9:24