VS2012编译已有WDM驱动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2012编译已有WDM驱动相关的知识,希望对你有一定的参考价值。

驱动不得不升级了,记录一下升级中跳的坑。
环境搭建:
开了虚拟机,在虚拟机中采用VS2012+WDK8。
首先安装VS2012,然后安装WDK8,安装完WDK8会提示要求装wdfcoinstaller
按照提示安装即可,这个是必须安装的。有文章说必须先VS2012再WDK8,我本来就是这个顺序,所以没有遇到啥问题。
代码导入:
这一步按照网上说明进行的。
打开VS2012, file -> open -> convert sources.../dir... 中选择WDM驱动的sources文件,vs2012会自动帮您将sources转为可以编译的vcxproj工程。
注:SOURCES文件是没有后缀的,我的工程里有区分free和debug版本的两个sources文件,任选一个去掉后缀即可。
代码编译:
1.上来就报了一个经典错误: error C2220: 警告被视为错误 - 没有生成“object”文件
这个需要关闭 将警告视为错误属性。
项目 -> 属性 -> 配置属性 -> C/C++ -> 常规 -> 将警告视为错误 选择 否(/WX-)
2.使用了可能未初始化的变量错误,这个我修改了代码
3.cannot open include file ‘afxres.h‘错误
网上搜了几种解释,觉得都不靠谱,后来看了一个比较合适的。
在 rc 文件内将包含 afxres.h 字样的都删除(有2处),然后在头上将第一处替换为 #include "winres.h" 即可。
我是只把第一处做了替换,后一处没有管,也没再报错。

接下来就编译完成了,但是能不能用还不知道。

以上是关于VS2012编译已有WDM驱动的主要内容,如果未能解决你的问题,请参考以下文章

nmake 无法使用 VS 2012 编译 TSF 示例

Win8 系统下 用VS2012 + WDK8.0 编译驱动程序filedisk-17 错误[之前是好的/系统重装后就编译不通过]

VS2012编译的DLL动态库为啥在VS2012上调用正常,在VS2008上使用失败

C语言编译器VS2012问题

构建与视频驱动程序 VS2012 相关的 WPF 的问题

提高VS2010/VS2012编译速度