整合Visual C++和WDK7:Step by step
[首发于cnblogs,转载请注明:作者:byeyear/告别年代 Email: east3@163.com]
用惯了IDE,赶脚WDK7的build过程真心操蛋啊~~~
下面就来看看如何整合Visual C++和WDK7吧。原创作品。
以Visual C++ 2008 Express和WDK7600为例。
1. 启动Visual C++ 2008,新建一个Makefile project
Project name我们填上toaster,我们后面将把WDK的toaster例子文件加进来
Solution Name我们填上wdk_sample。
2. 在后续的对话框中,全部内容使用默认值。
3. 将wdk中的toaster例子文件复制到工程目录(wdk_sample\toaster),并添加到project中:
makefile,makefile.inc,sources和toaster.c:在WinDDK\7600.16385.1\src\general\toaster\kmdf\func\simple
toaster.h:在WinDDK\7600.16385.1\src\general\toaster\kmdf\func\shared
driver.h和public.h:在WinDDK\7600.16385.1\src\general\toaster\kmdf\inc
4. 修改一下toaster.h文件中的包含文件路径:
将driver.h和public.h两行修改为:
5. 打开Configuration Manager:
6. 新建一个configuration:
Name:xp_x86_free
Copy settings from: Debug
单击确定。
7. 在Active solution configuration下拉列表中选择Edit,将Debug和Release配置删除:
8. 编辑项目属性:
项目属性对话框中,左侧选择NMake:
右侧单击Build Commd Line编辑框右侧的小方块,弹出编辑框:
展开Macro:
好,现在到关键时刻了:
9. “开始”菜单 –> Windows Driver Kit –> WDK 7600 –> Build Enviroment –> Windows XP –> x86 free build:
在这个菜单项上单击右键,选择“属性”,选择“快捷方式”选项卡:
选中“目标”编辑框中的内容,按Ctrl+C或单击右键选“复制”,将该编辑框内的内容复制到剪贴板。
10. 回到步骤8中Build Command Line编辑框,输入“call ”(call后有个空格),然后按Ctrl+V将剪贴板中的内容复制进来,并删除从C:\WINDOWS开始到cmd.exe /k之间的内容:
删除之前是这样:
删除后:
11. 按回车换行,输入:“cd /D ”(D后面有个空格)
12. 在macro展开列表中选择InputDir,单击Insert按钮:
13. 现在Command Line编辑框应该像这样:
14. 继续在上述编辑框中起一新行,输入:build
15. 单击OK,回到项目属性对话框。继续编辑Rebuild All Command Line:
除了最后一行输入build /c外,其余和上一步中的command line一致,你可以直接复制过来修改:
16. 现在可以回到VS主界面,Build一下试试:
1> |
看一下工程目录内,多了个objfre_wxp_x86目录。点开看看:
啊哈,大功告成了。
17. 你可以用同样的方法把其他Build Enviroment都加到Configuration Manager里去。比如我又加了一个xp_x86_checked。
可以用同样的方法加入WDK所支持的所有Build Enviroment。
18. 该方法目前的缺点:
加入新文件时,需要:1. 编辑sources文件 2. 将文件加入Solution Explorer;
只能在工程文件内部Go Declaration,没有办法Go Declaration到DDK/WDF的结构或函数
19. 若您有更好的方法,或认为有改进余地,欢迎留言或Email我。
整合Visual C++和WDK7:Step by step相关推荐
- Step by Step Setup Git Server on Windows with CopSSH + msysGit and Integrate Git with Visual Studio
Introduction First of all, let me clarify that Git doesn't need to specify the side for client and s ...
- Microsoft Visual C# 2008 Step by Step
Microsoft Visual C# 2008 Step by Step 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/01/22/165 ...
- 书讯--Microsoft Windows Communication Foundation Step by Step
SOA 观念提出后,经过多年的时间终于开始发酵.微软世界里因 WCF 的出现,简化了实做的基础.SOA 强调如下的重点: l 一切技术遵循公开标准 l 服务定义的边界明确 l 服务自主而不 ...
- Asp.Net Core 5 REST API - Step by Step(一)
翻译自 Mohamad Lawand 2021年1月19日的文章 <Asp.Net Core 5 Rest API Step by Step> [1] 在本文中,我们将创建一个简单的 As ...
- C++开发WPF,Step by Step
C++开发WPF,Step by Step 示例代码 使用C++来开发WPF,主要是如何在MFC(Win32)的窗口中Host WPF的Page.下面我就做个详细的介绍. 一.创建工程, 由于MFC的 ...
- RDL(C) Report Design Step by Step 3: Mail Label
RDL(C) Report Design Step by Step 3: Mail Label Crystal Report在报表向导中提供了三种向导类型给用户进行选择--Standard.Cross ...
- RDL(C) Report Design Step by Step 2: SubReport
RDL(C) Report Design Step by Step 2: SubReport 前两天,有网友在Blog上评论要求将子报表的配置贴出来,由于这两天有些别的事情,所以耽搁了:另外,自己也比 ...
- RDL(C) Report Design Step by Step 1: DrillThrough Report
RDL(C) Report Design Step by Step 1: DrillThrough Report 前一段时间,发了几篇关于RDLC报表的随笔,由于这些随笔中没有关于报表设计方面的内容, ...
- Struts2+Spring+Hibernate step by step 11 ssh拦截验证用户登录到集成
注意:该系列文章从教师王健写了一部分ssh集成开发指南 引言: 之前没有引入拦截器之前,我们使用Filter过滤器验证用户是否登录,在使用struts2之后,全然能够使用拦截器,验证用户是否已经登录, ...
最新文章
- linux发布tomcat项目项目流程,linux下tomcat的配置及项目的部署流程
- ORA-3136 - ORA-4030
- 使用webpack 打包出错[webpack-cli] TypeError: Cannot read property ‘tap‘ of undefined
- ad采样信噪比与噪声_软件ad和硬件滤波 ad采样硬件滤波电路
- 配置zigbee模块
- 如何查看路由器中的宽带密码
- Yapi接口平台个人总结
- 批量抠图,只需要这几行python代码!
- 用matlab求一组数据的分布函数,求任意一组数据的概率密度函数
- SuperMap iClient for MapboxGL 实现WFS查询功能
- 高新技术企业认证自助申请教程
- 北航计算机考研机考,11北航计算机复试上机
- IT 基础设施趋势合集 | 多云、超融合、SDS、容器之趋势解读与政策分析
- 编程之美--3.5最短摘要的生成
- php扩展geoIP的使用
- 【开源电机驱动】H 桥驱动-软件篇
- JavaScript 练手小案例:超级简单又炫酷的图片手风琴效果
- 一种防山火在线监测装置
- SAP ABAP 解析JSON
- strlen()函数计算方法
热门文章
- EasyNVR纯H5摄像机直播解决方案前端解析之:RTSP安防监控实时直播的四分屏的前端展示方案
- 代码随想录Day04 | LeetCode24. 两两交换链表中的节点、LeetCode19. 删除链表的倒数第N个节点、LeetCode160. 链表相交、LeetCode142. 环形链表Ⅱ
- MATLAB中fplot函数,画出的figure中曲线存在空白的问题与解决方法。
- php统计字数函数,微博内容字数统计函数(PHP版)
- 车牌识别github资源
- 【实用代码】选项卡切换——带标题底纹样式
- Linux系统调用列表
- GUCCI、LV等奢侈品巨头如何布局元宇宙的,其他品牌应该跟上吗?
- 小学计算机学情分析报告,美图小学信息技术_秀秀美图更漂亮教学设计学情分析教材分析课后反思...
- 老友记第一季台词打印_老友记台词第一季 老友记第一季台词