首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > VSTS >

vs2008中安装配置winpcap及相关异常解析

2012-09-24 
vs2008中安装配置winpcap及相关错误解析?说明:vs08在安装的时候提供一些默认的.h文件,比如stodio.h,就是在

vs2008中安装配置winpcap及相关错误解析

?

说明:vs08在安装的时候提供一些默认的.h文件,比如stodio.h,就是在includ目录下的文件,我不知道叫什么,本文暂且中叫vs源文件。
网上找到的步骤:

1.安装WinPcap_4_0_2.exe,即可以抓包的驱动程序
2。下载winpcap开发包WpdPack_4_0_2.zip,里面有关开发相关的函数库以及例子
3.?打开.net平台,设置环境目录;在菜单:工具->选项;弹出的选项窗体左边点击:项目和解决方案->VC++目录;在右边:“显示以下内容的目录”标签下面的 下拉框中找到“包含文件”,然后对应到第二步下载开发包的Include目录;在同一下拉框中找到“库文件”,然后对应到第二步下载开发包的lib目录;
4. 设置编译条件;在项目属性页中:配置属性->C/C++->预处理器->预处理器定义,增加;WPCAP;HAVE_REMOTE;每 一个预定义符用";"隔开;在项目属性页中:配置属性->链接器->命令行->附加选项对应的文本框中增加:“wpcap.lib ws2_32.lib”;


?我在调试时出现了两个错误:1.fatal error C1083: Cannot open include file: 'sys/time.h': No such file or directory2.error C3163: '_vsnprintf': attributes inconsistent with previous declaration错误原因及我的解决过程:总的来说,应该就是因为在选择新建一个project时候,我们大部分会选择Empty Project。这个是在VC6.0没问题的,但是在vs2008如果选择这个的时候,vs会认为这不是一个WIN32程序,也就是没有预定义WIN32所以在pcap.h代码中:#if?defined(WIN32)? #include <pcap-stdinc.h>#elif?defined(MSDOS)? #include <sys/types.h>? #include <sys/socket.h>? /* u_int, u_char etc. */#else?/* UN*X */?#include?<sys/types.h>?#include?<sys/time.h>#endif?/* WIN32/MSDOS/UN*X */在Empty Project中没有定义WIN32,因此默认为UNIX环境,然后会出现错误1。这个是比较容易发现的一个错误,网上有人说强行修改,如果强行修改的话表面上可以解决错误1,但是在一定条件下(比如用到了某个变量类型)仍然会出现错误2.网上有错误2的解决方案(http://blog.163.com/cp7618@yeah/blog/static/702347772011217102525289/)也是强行修改vs源文件解决问题。我没找到这个解决方案要修改的代码段,但是我觉得修改stdio.h等头文件不是一个好的方法。于是我试图自己定义了Win32,但是仍然是修改库文件,而且也会出现错误。查资料突然看到在创建project时,我们可以选择Win32环境下的project。试了一下,问题解决,并且不需要修改任何vs源文件。

?

热点排行