今天用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
快捷操作:
坚其志,苦其心,劳其力,事无大小,必有所成。
@如有侵权,请作者本人尽快与我(chrayo#163.com)联系,我将及时删除侵权内容。