一路艰辛的pcapy模块安装--64位-win10

一路遇到了很多问题,问题的具体提示我记不清了,大体描述下并说说解决办法吧

1、缺少一个vcvars或者**make批处理或者可执行文件,反正这两个问题的原因和解决办法是一样的:原因是没有安装VS组件,解决办法是安装vs2008,据说2008不容易出错。64位不要安装快速版,否则缺少组件,可以按个专业,网上有带密钥的,安装时自定义,在VC++选项下勾选64位编译支持(好像是叫这个名字,默认不选,自己选上,要不然后面会出错),安装完添加环境变量:F:\Microsoft Visual Studio 9.0\VC\bin(这是我的,你们按照你们的添加)。然后这个问题解决了

2、缺少pcap.h 缺少**.h 反正缺任何.h都是这个原因:缺少WpdPack文件内容,下载这个文件,这个文件里有你要的这些文件。理论上你把这个文件添加到VC的环境变量里就行(注意:是VC的环境变量里,不是系统环境变量,在VS->工具-》选项-》项目和解决方案-》VC++目录里添加),然而我试了,没有用。下面来说我的方法:把文件里的.h文件copy到python的include目录里,你下载的文件除了一堆.h文件还有一个文件夹,文件夹里也是一堆.h文件,也都copy过去,但是你会发现有两个pcap.h,保留大的那个,你可以文本打开看看小的那个,其实就是调用了大的那个。

3、你继续执行下去,你会发现有类似的错误,pcap\**问件找不到,那是因为本来pcap那个文件夹下面的.h文件也被我们copy过来了,所以直接去掉执行代码里的pcap\就行,保存下执行(当时也可以直接将pcap这个文件夹copy到include文件夹下,这样就不用改了,当时没想到)

4、执行下去又有错误:error C3163: “_vsnprintf”: 属性与以前的声明不一致。说明我们现在执行的脚本里的定义和本来VC里面定义的这个变量冲突了,我们改一下我们执行的脚本

#if (_MSC_VER != 1500)   // 只针对VC++ 2008注释下面的代码行

#    define vsnprintf _vsnprintf

#endif

5、接下来又会遇见与2类似的错误,无法打开输入文件“wpcap.lib”,又缺文件,可以.lib也都copy过来,这次是copy给VC\lib,如果你是64位系统,你的lib里会有amd64这个文件夹,把WpdPack\Lib里面的X64里面的.lib copy到VC\lib\amd64里面,(也给VC\lib里面copy一份吧,虽然不太确定用不用的着)

6、最后在执行一遍就成功了!

我觉得还是linux下使用pcapy简单些。linux下的安装可以参考http://blog.csdn.net/shouwangzhelv/article/details/50834562

你可能感兴趣的:(一路艰辛的pcapy模块安装--64位-win10)