Windows上的Haskell插件包不是x86 PEi386错误

时间:2012-03-23 22:24:04

标签: windows haskell plugins

我正在尝试让插件包在Windows上运行。

我有Windows Vista 64位。我今天安装了最新的Haskell平台(ghc --version说7.0.4)。我安装了最新的cygwin。

我运行一个简单的示例(特别是this one并在修复了各种内容后(请参阅here),我收到此错误:

Main.exe: Plug.dll: Not x86 PEi386
Main.exe: user error (Could not load module `Plug.dll')

我不知道该去哪儿。

我以同样的方式编译了dll和测试代码,smae ghc:

ghc -shared -o Plug.dll Plug.hs
ghc -package ghc -o Main Main.hs

另外,我使用InspectExe进行检查,它说Plug.dll文件是一个32位的dll,它能够成功加载它。

1 个答案:

答案 0 :(得分:0)

GHC不支持在Windows平台(#1884)上编译64位二进制文​​件。 GHC生成的所有可执行文件在Windows上都是32位。这意味着您只能链接32位DLL。显然,您编译的DLL没有编译为32位,这可能是因为您使用了除MinGW之外的其他编译器来生成DLL。