我无法在 Windows 7(64 位)下安装 pcap 软件包。有人知道怎么做吗?
如果我运行“cabal install pcap”,会出现错误消息:
cabal.exe:缺少对外部库的依赖:
- 头文件丢失(或损坏):pcap.h
- 缺少 C 库:pcap
我从这里下载了 WinPcap 4.1.2 开发者包: http://www.winpcap.org/devel.htm
从头开始安装 MinGW/MSYS。尝试了两种方法:预先打包的 GHC 7-6.2 (ghc-7.6.2-x86_64-unknown-mingw32.tar.bz2) 并在 MinGW/MSYS 下自行编译。
似乎存在多个问题:
当我提供 pcap.h 的包含路径(--extra-include-dirs)时,我可以成功执行“cabal 配置”,但在使用“netinet/in.h”进行“cabal build”时失败未找到。
如果我通过在 MSYS“mingw-get install msys-core-dev”下运行来安装 netinet/in.h,那么我会收到大量不同类型的已定义消息。
WinPCap 开发人员包没有 libpcap.a(它有 libwpcap.a)。而且好像没有 64 位版本。我需要自己编译吗?
如果有人能建议 Windows 下的 cabal 软件包通常如何处理这种情况,我将不胜感激。
最佳答案
WinPCap Developers Pack do not have libpcap.a (it has libwpcap.a).
正确。无论好坏,虽然该库在 UN*X 上称为“libpcap”,因此与标志 -lpcap
链接,但在 Windows 上称为“WinPcap”,并且 .a
文件名为“libwpcap.a”,这意味着如果您使用 UN*X 风格的工具构建应用程序,它将与标志 -lwpcap
链接。
所以,不,即使您在 Windows 上使用 UN*X 样式的文件,您也不会使用与在 UN*X 上相同的标志来链接基于 pcap 的程序。
而且,是的,您必须自己编译 64 位版本;虽然他们提供了与 Microsoft 构建工具一起使用的 64 位版本的 .lib
文件,但他们似乎不提供 64 位版本的 .a
> 文件以与更多类似 UN*X 的工具一起使用。
关于windows - cabal 安装 pcap Windows 64 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15648750/