我正在尝试让插件包在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,它能够成功加载它。
答案 0 :(得分:0)
GHC不支持在Windows平台(#1884)上编译64位二进制文件。 GHC生成的所有可执行文件在Windows上都是32位。这意味着您只能链接32位DLL。显然,您编译的DLL没有编译为32位,这可能是因为您使用了除MinGW之外的其他编译器来生成DLL。