如何部署编译NDIS驱动的环境(内部资料)
0,安装VC6英文版。 1,安装WinXP DDK。要完全安装,不然会比较麻烦。 2,安装DS。最好也完全安装,要不也是很麻烦。 3,DS安装好以后,运行"开始菜单"->"Compuware DriverStudioDevelop"->"DDK Build Settings"。第一页DDK根目录那里,一般自动设置好了,如果没有,自己选择DDL的根目录,比如:"E:WINDDK2600"。执行下面的Launch Program,打开一个VC的IDE,从这个IDE打开驱动项目,就可以编译了。 4,先不要急着编译自己的项目,还要准备一些工作。 5,打开项目:CompuwareDriverStudioDriverWorkssourceVdwLibs.dsw,选择VC菜单编译Build,选择批编译Batch Build,点击Select x86,点击右上的Build或Rebuild All。等待编译完成,如果出错,可能是上面的步骤出错。 6,打开项目:CompuwareDriverStudioDriverNetworkssourceDNW.dsw,选择VC菜单编译Build,选择批编译Batch Build,点击Select x86,点击右上的Build或Rebuild All。等待编译完成,如果出错,可能是上面的步骤出错。 7,大功告成,这下可以编译自己的驱动了,不过,记得用第3步所说的步骤打开VC。
一些解释: 1,如果用中文版,编译通不过可不要怪我。最好装上sp6补丁,否则,有时候会出现编译时VC假死的情况。 2,完全安装DDL,是为了保证以后编译一些库的时候,不要老是提示缺少什么什么问题,虽然那个文件所在的库并不重要。为了避免麻烦,就这么做好了。 3,通过DS的程序来驱动VC,其实过程是这样的:DS首先启动一个批处理文件,批处理文件里面会设置一些环境变量,这些环境变量是会话级的,然后再启动VC,这样,在VC中使用DS的Build的时候,就会用到那些环境变量了,所以,如果不从DS的环境启动,就编译不了程序。当然,如果把这些环境变量写入到系统环境里面,也许可以编译吧,没试过。 4,编译VdwLibs.dsw,是为了编译一些DS的库,因为许多驱动会用到DS的库的,如果你没有编译这个,很有可能编译驱动通不过。DNW也是这个道理。
另类编译方法: 1,安装DDK后,打开开始菜单“Development KitsWindows DDK 2600Build Environments”,注意里面的Win XP Checked Build Environment和Win XP Free Build Environment,前者相当于Debug,后者相当于Release。它们提供了DDK的编译环境,使用很简单,打开后进入一个命令行窗口,切换到驱动所在的目录,执行Build命令,它就会开始编译该目录的驱动。当然,那个目录必须有makefile文件和sources文件,这两个文件的写法,网上有。 例子: cd /d E:DrvTest Build 就这么简单
- css自动换行如何设置?url太长会撑开页面
- Histogram of Oriented Gridients(HOG) 方向梯度直方图
- 动态规划系列之最长递增子序列问题解答
- Git SSH Key 生成步骤
- 如何将wordpress所有文章批量改为已发布状态
- dedecms提取某栏目及子栏目名称到首页怎么弄
- Bootstrap速学教程之简要介绍
- Ubuntu 安装 JDK8 的两种方式
- git命令-切换分支
- 如何让dedecms文章点击量增加一定的数值
- dedecms自增标签[field:global.autoindex/]的运用
- dedecms调用副栏目文章怎么操作
- 12个非常有用的JavaScript技巧
- 使用JPA中@Query 注解实现update 操作
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux exa命令(比ls更好的展示文件体验)
- 浅谈linux kernel对于浮点运算的支持
- PyTorch版YOLOv4更新了,不仅适用于自定义数据集,还集成了注意力和MobileNet
- Apache shiro的简单介绍与使用教程(与spring整合使用)
- Linux中一种友好的find替代工具(fd命令)
- ubuntu下让python脚本可直接运行的实现方法
- 在linux (centos)上使用puppeteer实现网页截图功能
- centOS7.4 安装 mysql 5.7.26的教程详解
- linux最快的文本搜索神器ripgrep(grep的最好代替者)
- Ubuntu安装MySQL5.7并配置数据存储路径的方法步骤
- 在centos7上搭建mysql主从服务器的方法(图文教程)
- Linux部署python爬虫脚本,并设置定时任务的方法
- centos6编译及安装ZLMediaKit解析
- CentOS7.5安装配置Harbor1.7的全过程
- Linux CentOS 定时运行脚本配置的方法