RoyalGao

要像一棵树栽在溪水旁,按时侯结果子,叶子也不枯干(诗篇)。
Mail: gaoquanning@163.com

导航

Winpcap安装,Cannot open include file 'pcap.h'

VC报错 fatal error C1083: Cannot open include file: 'pcap.h': No such file or directory

Winpcap是windows平台下的一个专业Winpcap是一个强大的网络开发库,可以实现许多功能:获取可用的网络适配器;获取指定适配器信息(比如名称和描述信息);捕获指定网卡的数据封包;发送数据封包;过滤捕获的包以获取特定包等。

WinPcap由两部分组成:
1. 驱动程序: 扩展操作系统功能提供低层次的网络访问
2. 动态链接库:运行在Win32平台上的应用程序可以非常方便地访问网络低层次的数据。

Winpcap的安装使用方法


1.下载安装包,开发包

  http://www.winpcap.org/install/default.htm下载winpcap的安装包,
  http://www.winpcap.org/devel.htm下载winpcap的开发包(WinPcap SDK)。

2.执行安装包,这样你的机子就能运行winpcap程序了。

3.解压开发包,解压后除了一些文档、example和demo,要用到的就是include和Lib文件夹;
在VC6.0的Tools-->Option-->Directories的Include fils 和library files加入winpcap的include和lib目录。

 

4.在Link选项卡加入wpcap.lib ws2_32.lib Packet.lib

 

5.在预定义宏添加WPCAP,HAVE_REMOTE或直接在pcap.h文件中加入

       #define WPCAP

       #define HAVE_REMOTE

 

6.开始编写wpcap程序。

 

————————————————————————————————————————————

ReBuild All:

报错如下:

error C2144: syntax error : missing ';' before type 'unsigned int'

定位在_W64这一行

#ifdef _WIN64
typedef unsigned __int64 uintptr_t;
#else
typedef _W64 unsigned int uintptr_t;
#endif
#define _UINTPTR_T_DEFINED
#endif

#ifndef _INTPTR_T_DEFINED
#ifdef _WIN64
typedef __int64 intptr_t;
#else
typedef _W64  int intptr_t;
#endif
#define _INTPTR_T_DEFINED
#endif 

原因是vc6.0并不完美支持c++99标准(VC6的PSDK版本低,不支持W64),在64位cpu中编译会有问题,将winpcap开发包换到4.0.1版本或者其他早期版本及以下错误消失   

当然你也可以使用VS2005、VS2008、VS2010等,可以跟进高版本的WinCap。

之前尝试 “去掉_W64” 或者 “在 pcap.h中#define _W64” 没能解决问题。

 ------------------------------------------------------------------------------------------------------------------------------

 winpcap开发环境需要是windows操作系统,而且必须安装winpcap驱动才可以调试您的程序。

 

posted on 2016-05-12 15:12  RoyalGao  阅读(5771)  评论(0编辑  收藏  举报