我正在尝试在Windows计算机上安装pcapy。我已经安装了WinPcap 4.1.3
我将pcapy 0.10.8下载到C:\pcapy-0.10.8
当我尝试进行安装时,会发生以下情况:
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安装日志的输出:
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。我该从哪里学到这些呢?
发布于 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开发人员包而烦恼。
发布于 2016-01-01 06:47:47
以Josh P的回答为基础(我刚才用了大部分的方法):
--global-option来传入标题和链接器位置在Windows7上为链接器指定库文件夹时,我需要指定库的x64版本,而不是库的(默认) x32版本:
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)版本时,我得到了以下链接错误:
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)发布于 2015-12-02 03:53:53
正如Guy Harris解释的那样,下载安装二进制文件通常更容易。如果您确实从源代码进行构建:
--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。
https://stackoverflow.com/questions/22996098
复制相似问题