cabal安装pcap windows 64bit

时间:2013-03-26 22:39:08

标签: windows haskell cabal pcap

我无法在Windows 7(64位)下安装pcap软件包。有谁知道怎么做?

如果我运行“cabal install pcap”错误消息:

cabal.exe:缺少对外部库的依赖:

  • 缺少(或错误)头文件:pcap.h
  • 缺少C库:pcap

我从这里下载了WinPcap 4.1.2 Developers Pack: http://www.winpcap.org/devel.htm

从头开始安装MinGW / MSYS。尝试了两种方法:预先包装GHC 7-6.2(ghc-7.6.2-x86_64-unknown-mingw32.tar.bz2)并在MinGW / MSYS下自行编译。

似乎存在多个问题:

  1. 当我提供pcap.h的包含路径(--extra-include-dirs)时,我可以成功进行“cabal配置”,但是在“netinet / in.h”的“cabal build”中失败了没找到。

  2. 如果我通过在MSYS“mingw-get install msys-core-dev”下运行来安装netinet / in.h,那么我将获得大量不同类型的已定义消息。

  3. WinPCap Developers Pack没有libpcap.a(它有libwpcap.a)。看起来它没有64位版本。我需要自己编译吗?

  4. 如果有人能够建议在Windows下如何正常处理cabal软件包,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

  

WinPCap Developers Pack没有libpcap.a(它有libwpcap.a)。

正确。无论好坏,虽然库在UN * X上称为“libpcap”,因此与标志-lpcap链接,在Windows上称为“WinPcap”,.a文件称为“ libwpcap.a“,意思是如果你使用UN * X风格的工具构建一个应用程序,它将与标志-lwpcap链接。

所以,不,即使您在Windows上使用UN * X风格的文件,也不要使用相同的标志来链接您在UN * X上执行的基于pcap的程序。

而且,是的,您必须自己编译64位版本;虽然它们提供了64位版本的.lib文件以供Microsoft构建工具使用,但它们似乎不提供64位版本的.a文件以供更多UN *使用类似X的工具。

答案 1 :(得分:0)

您是否尝试过使用netinet / in.h?我的回忆是,这用于生成Haskell等价物。你可能不需要任何其他东西。警告:我上次在7年前就开始研究这个包。