首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows 7上安装pcapy时出现问题-无法打开包含文件:'pcap.h‘

在windows 7上安装pcapy时出现问题-无法打开包含文件:'pcap.h‘
EN

Stack Overflow用户
提问于 2014-04-11 02:27:05
回答 4查看 13.4K关注 0票数 3

我正在尝试在Windows计算机上安装pcapy。我已经安装了WinPcap 4.1.3

我将pcapy 0.10.8下载到C:\pcapy-0.10.8

当我尝试进行安装时,会发生以下情况:

代码语言:javascript
复制
C:\pcapy-0.10.8>c:\Python27\python.exe setup.py install
running install
running build
running build_ext
building 'pcapy' extension
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Bin\amd64\cl.exe /c /nolog o /Ox /MD /W3 /GS- /DNDEBUG -DWIN32=1 -Ic:\devel\oss\wpdpack\Include -Ic:\Python27\include -Ic:\Python27\PC /Tppcapdumper.cc /Fobuild\temp.win-amd64-2.7\Release \pcapdumper.obj
pcapdumper.cc
pcapdumper.cc(12) : fatal error C1083: Cannot open include file: 'pcap.h': No such file or directory
error: command 'cl.exe' failed with exit status 2

我不知道它在哪里寻找pcap.h。我可以确认pcapy-0.10.8目录中没有该名称的文件。

我遗漏了什么?我刚刚安装了WinPcap --我需要重启吗?谢谢!

编辑后添加...以下是我的WinPcap安装日志的输出:

代码语言:javascript
复制
WinPcap 4.1.0.2980 Installation LOG
-----------------------------------------------------
Debug Information


Operating system detected on registry: 7 - AMD64
True operating system (kernel.dll):    7 - AMD64
npptools.dll present on the system:    false
netnm.inf present on the system:       false
nmnt.sys present on the system:        false

End of log
-----------------------------------------------------

那里的false是否意味着WinPcap没有正确安装?我希望在我的WinPcap目录下找到pcap.h,但它不在那里。如果需要,我确实可以在setup.py中的何处添加额外的包含文件目录,但我在我的机器上找不到pcap.h。我该从哪里学到这些呢?

EN

回答 4

Stack Overflow用户

发布于 2014-04-11 06:27:16

C:\pcapy-0.10.8>c:\Python27\python.exe setup.py安装

the CoreLabs site for pcapy上的文本可以看出,您下载的是源代码,而不是Win32二进制文件。除非你真的需要从源代码构建,否则你可能会发现只安装二进制文件更容易LOT

那里的错误是否意味着WinPcap没有正确安装?

不是的。

我希望能找到

然后,如果你需要从源代码构建,你需要安装WinPcap Developer's Pack。WinPcap只是一个“运行时”,对于已经构建的诸如Wireshark之类的程序来说已经足够了,但对于使用WinPcap并且需要在您的机器上编译的软件来说还不够-显然,无论您下载的是什么风格的pcapy都需要构建。

(这类似于在许多Linux发行版上打包libpcap的方式-- "libpcap“包只安装运行时,您需要安装"libpcap-dev”包或类似的包才能获得头文件。)

但是,如果Windows二进制文件对您有效,那么请不要为WinPcap开发人员包而烦恼。

票数 6
EN

Stack Overflow用户

发布于 2016-01-01 06:47:47

以Josh P的回答为基础(我刚才用了大部分的方法):

  1. 下载WinPcap Developer's pack
  2. 解压压缩文件(例如,使用--global-option来传入标题和链接器位置

在Windows7上为链接器指定库文件夹时,我需要指定库的x64版本,而不是库的(默认) x32版本:

代码语言:javascript
复制
pip install pcapy  --global-option="build_ext" 
    --global-option="-Ic:\users\foo\Downloads\WpdPack_4_1_2\WpdPack\include" 
    --global-option="-Lc:\users\foo\Downloads\WpdPack_4_1_2\WpdPack\lib\x64"

在使用该文件的...\lib (x32)版本时,我得到了以下链接错误:

代码语言:javascript
复制
       Creating library build\temp.win-amd64-2.7\Release\pcapy.lib and object build\temp.win-amd64-2.7\Release\pcapy.exp

pcapdumper.obj : error LNK2019: unresolved external symbol pcap_dump_close
referenced in function "void __cdecl pcap_dealloc(struct pcapdumper *)" 
(?pcap_dealloc@@YAXPEAUpcapdumper@@@Z)
票数 4
EN

Stack Overflow用户

发布于 2015-12-02 03:53:53

正如Guy Harris解释的那样,下载安装二进制文件通常更容易。如果您确实从源代码进行构建:

下载WinPcap Developer's Pack.

  • Use pip's --global-option。setup.py是不同的,但我认为pip比setup.py更可取。

下面是一行示例(替换为您的系统的正确路径;我只是在Downloads文件夹中引用了它们):

pip install ./pcapy-src-dir --全局选项=build_ext --global-option="-LC:\path\to\WpdPack_4_1_2\WpdPack\Lib“--global-option="-IC:\path\to\WpdPack_4_1_2\WpdPack\Include

另请参见this answer

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22996098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档