Haskell plugins pakke på Windows Ikke x86 PEi386 fejl

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at få plugins-pakken til at fungere på Windows.


Jeg har Windows Vista 64 bit. Jeg installerede den nyeste Haskell Platform i dag (hvilken ghc - version siger 7.0.4). Jeg installerede den nyeste cygwin.


Jeg kører et simpelt eksempel (specifikt denne og efter fastsættelse af forskellige ting (se her) Jeg får denne fejl:


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


Jeg er ikke sikker på, hvor jeg skal hen med denne.


Jeg kompilerede dll og testkode på samme måde, smae ghc:


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


Også, jeg brugte InspectExe til at kontrollere, og det siger, at Plug.dll-filen er en 32 bit dll, og den kunne indlæse den med succes.

Bedste reference


GHC understøtter ikke at kompilere 64-bit binære filer på Windows-platforme (# 1884). Alle eksekverbare filer produceret af GHC er 32-bit på Windows. Det betyder, at du kun kan linke til 32-bit DLL'er. Tilsyneladende blev din kompilerede DLL ikke kompileret som 32-bit, hvilket sandsynligvis skyldes, at du brugte en anden compiler end MinGW til at producere DLL. [5]