分享

DriverStudio3.2如何配置

 戴维图书馆 2012-12-21

DriverStudio3.2如何配置  

2007-07-24 11:27:14|  分类: WDM技术 |  标签: |字号 订阅

 

 DriverStudio3.2和2003DDK配合VisualStudio使用时配置方法

DriverStudio3.2和2003DDK配合VisualStudio使用时配置方法

1 完全安装DDK/IFSKIT情况下,无需多余的配置

2 没有安装64位支持情况:

找到DS安装目录下的Common,有批处理文件runbuild.bat,增加goto 2003DDK

set DDKBUILDENV=

if EXIST %BASEDIR%\bin\build.exe goto OLDDDK

if EXIST %BASEDIR%\bin\Win64\x86\build.exe goto 2003DDK

goto 2003DDK

 

否则会出现无法正常Build w2k和win2003驱动的情况 

DriverStudio 3.2 配置

昨天好不容易装上了DriverStudio 3.2,于是今天想编译个程序试试看。晕,居然会有错误。查了一下,说是要先编译vdw_wdm.lib。于是用vc打开了:

D:\Program Files\Compuware\DriverStudio\DriverWorks\source\VdwLibs.dsw

文件。

选择build-->batch build后在弹出框中把涉及“64”的选项取消。重新编译。

居然成功了,爽。

不过又出现了:

1>NMAKE :  U1073: don't know how to make 'D:\WINDDK\2600\lib\wxp\i386\ntstrsafe.lib'

这个错误。

再上网查查。

原来driverstudio产生的驱动工程都会要连接ntstrsafe.lib这个库,但实际上这个库并不存在,在Project的Settings里的Link项中去掉这个库就可以了。

于是去掉之。

可是问题依然存在。狂晕!

最后终于在网上看到一个解决办法

就是将工程中的sources文件里边的:

TARGETLIBS=$(DDK_LIB_PATH)\ntstrsafe.lib $(DDK_LIB_PATH)\csq.lib

直接删除。就行了。

编译后终于成了。

 

总结:到现在为止虽然对DriverStudio还是不太熟悉,但总能编译了。

DriverStudio驱动程序开发工具包的安装说明(DS3.2及以下版本)

                                      

以下为DS3.2以下版本的安装方式

在winme下安装DS:

1.安装NTDDK(98DDK不行);

/////////////////////////////////////////////////////////

2.安装VC6.0.在安装的最后要选上Register选项;

////////////////////////////////////////////////////////

3.NTDDK4.0的设置:

随便用一个文本编辑器打开……\ddk\bin\目录下的setenv.bat文件,在该文件的第三行(不含空白行)之后加入如下一行并保存:

call ……\vc98\bin\vcvars32.bat(……是VC所在路径)。

如果你只用DDK而不用DS开发,OK,到此你就可以开始DP之路了。(当然有时没有这么简单,如用问题看文章结尾)

/////////////////////////////////////////////////////

4.运行NTDDK\BIN\dginst.exe,但不要重启系统;

//////////////////////////////////////////////////////

5.安装DS;

/////////////////////////////////////////////////////

6.设置DS:

DS的设置:

在利用DriverWords开始工作前,编译库文件是必需的。有三种方法可以轻松搞定。最好用的是用Microsoft Visual Studio环境来编译。具体方法如下:

1.    用DriverWords开始菜单中的“Setup DDK and Start MSVC”启动你的编译环境。

2.    用Open Workspace打开位于DS安装目录的

……\DriverWorks\Source\vdwlibs.dsw。

3.    选择VC的Build菜单,选择batch Build,在之后的对话框中选择你想如何编译。

4.    对于32位编译,最好选择全部复选框,但没有必要选择64位的。

5.    点击Rebuild All。

(此方法可用于98、2K、NT,但不可用于XP)。

//////////////////////////////////////////////////////

7.测试DS

打开位于……\DriverWorks\Examples\NT\hello.dsw,然后编译(用VC的编译和用DS增加的编译钮都可以)。如果你可以在其目录中找到hello.sys你就成功了。恭喜……恭喜……

以下为DS3.2版本的安装

1.安装英文原版Visual studio 6.0;同时要记住注册环境变量

2.安装NTDDK或者XPDDK.

3.安装DS3.2

4.启动VC,点击DriverStudio菜单下的DDK Build Settings

在弹出的对话框中选择已经安装的DDK目录.在Windows DDK compiler Options中选择: "Enable only for Driver Studio".如果是用DS2.6生成的项目则选择:"Enable for all c/c++ projects".

5.用Open Workspace打开位于DS安装目录的

……\DriverWorks\Source\vdwlibs.dsw。

6. 选择VC的Build菜单,选择batch Build,在之后的对话框中选择"Select x86",然后点击Rebuld all.等待编译成功

7.打开位于……\DriverWorks\Examples\wdm\hellowdm.dsw,然后编译(用VC的编译和用DS增加的编译钮都可以)。如果你可以在其目录中找到hellowdm.sys你就成功了。恭喜……恭喜……

8.使用Driver wizard生成驱动程序

8.1生成只能用DDK编译的项目

在生成的项目中打开pch.h文件,屏蔽语句"#i nclude "

打开sources文件,屏蔽语句: TARGETLIBS=$(DDK_LIB_PATH)\ntstrsafe.lib $(DDK_LIB_PATH)\csq.lib.

然后使用DDK编译即可成功

8.2生成用VC编译的项目

打开项目,同时屏蔽pch.h文件中的#i nclude 语句

修改项目属性中的Link,删除ntstrsafe.lib库的包含.

重新编译驱动程序即可成功.

DriverWorks 3.2在Windows Server 2003 SP1 DDK下如何编译库文件

DriverWorks在安装之后不能立即使用,需要先编译库文件,然后才能正常使用。我以前在Windows 2000下使用过DriverWorks,感觉编译库文件非常容易,但这次在Windows Server 2003 SP1 DDK(3790.1830)下进行编译还是遇到一些困难,特别记录下来,以免忘记。

Windows XP以后的DDK越来越复杂,因为每个DDK都要支持多个操作系统和不同的CPU,其目录结构较Windows 2000 DDK有很大不同。

我以前都是在Visual C++ 6.0的集成环境中使用DriverWorks,这次也不例外。启动Visual C++ 6.0后,先点击菜单的DriverStudio | DDK Build Settings项,设置好DDK的路径。

然后打开C:\Program Files\Compuware\DriverStudio\DriverWorks\Source\vdwlibs.dsw,选择菜单的Build | Batch Build进行编译,32位的库(i386)都编译成功了,kndiswdm.lib也都编译成功,但是vdw_wdm.lib和vdw.lib的IA64和AMD64库都报错,没有成功。错误出现在stl库的_threads.h文件的442行:

# else        //*ty 11/24/2001 - added configuration check

#  error "Unknown thread facility configuration"

# endif

在Google上搜了一下,未果;又去驱动开发网上找了一下,没有什么有用的信息,一时陷入了困境。又看了一下帮助,发现它提到编译库一共有三种方法,而我用的只是其中的一种,决定再尝试一种。首先,使用Build | Set Active Configuration切换到Vdwlibs - Win32 AMD64 NT 4 Free项。

再选择DriverStudio | Build with BUILD.EXE,进行编译,没有任何错误,成功了

这真是出乎意料,我本来以为三种方法是一样的,现在看来,Build with BUILD.EXE可能是Compurewre内部使用的比较多的选项,测试比较完善。Build with BUILD.EXE一次只能编译一个配置,所以还需要多次使用Build | Set Active Configuration才能完成所有的编译工作。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多