人较笨且记性不好,故记录在此.折叠代码打不开请F5.本博中很多是转载收录其他网友的文章(原文地址请见博文末尾),所有权为原作者所有!!!
此博客已不再更新和维护,欢迎关注我的github新博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

今天用DriverStudio向导生成一个基于NDIS的驱动程序,在开始编译的时候出现“ntstrsafe.lib”打不开,再然后出现“kndis5mp.lib”。

解决办法:
1、ntstrsafe.lib

driverstudio产生的驱动工程都会要连接ntstrsafe.lib这个库,但实际上这个库并不存在,在Project的Settings里的Link项中去掉这个库,然后在工程中的sources文件里边,找到下面一行:
TARGETLIBS=$(DDK_LIB_PATH)/ntstrsafe.lib $(DDK_LIB_PATH)/csq.lib,直接删除即可。
有时候还会提示没有ntstrsafe.h,#include<ntstrsafe.h>出错,把它注释掉即可。
上面这个错误出现在windows xp操作系统中,我曾经帮别人在2003 server中配置开发环境,结果发现,不会存在上述问题,而且可以使用vc6.0的编译按钮进行编译,这在windows xp下是不行的。(此方法摘自网上)

2、kndis5mp.lib

首先打开DriverStudio的安装文件:DriverStudio\DriverNetworks。这个时候你会发现DriverStudio\DriverNetworks\lib目录为空,这时说明kndis5mp.lib是不存在的,需要自己生产。
进入目录DriverStudio\DriverNetworks\source里面会发现Kndis64.dsp和KNdisLib.dsp。。。KNdisLib.dsp即为生产 kndis5mp.lib的工程。(另外一个是生成kndis5pt.lib的)。注意:这里编译的方法是Build→Batch Build→(后面我选择的是"select x86")→Rebuild All.
再回去查看DriverStudio\DriverNetworks\lib目录会有kndis5mp.lib。

这下再次编译你自己的工程文件,应该不会报错了。
【参考地址 感谢作者】
http://blog.csdn.net/flyingtimeice/article/details/3378985
http://bbs2.driverdevelop.com/read.php?tid=13463
http://topic.csdn.net/t/20030930/15/2317916.html

posted on 2011-07-23 23:27  子坞  阅读(1561)  评论(0编辑  收藏  举报