Mam problem z ghci + Cairo na windows. Kiedy próbuję załadować, na przykład jak ten „ghci -package Kairze” nie powiedzie się z powodu następującego błędu:Haskell, GHC, win32, cairo
Loading package random-1.0.0.2 ... linking ... done. Loading package haskell98 ... linking ... done. Loading package syb-0.1.0.2 ... linking ... done. Loading package base-3.0.3.2 ... linking ... done. Loading package mtl-1.1.0.2 ... linking ... done. : C:\Users\alexeys\AppData\Roaming\cabal\cairo-0.12.0\ghc-6.12.3\HScairo-0.12.0.o: unknown symbol `_cairo_surface_destroy' Loading package cairo-0.12.0 ... linking ... : unable to load package `cairo-0.12.0'
Nawet najprostsze programy nie działają w trybie interaktywnym, jak na przykład „”, który Text.hs pochodzi z pakietem cairo. Jednak kompilowane z "ghc --make" wszystko działa zgodnie z oczekiwaniami, więc nie jest to problem "brakuje dll" - wszystko jest na swoim miejscu.
Użyłem "filemona", aby sprawdzić, co "ghci" ładuje iw logu widzę "libcairo-2.dll" (i ta biblioteka ma zdefiniowany symbol "_cairo_surface_destroy"), które znalazłem i załadowałem pomyślnie, więc Naprawdę rozumiesz - czego więcej chce?
Może to problem "wątków"? Pojawił się ostatnio wątek Haskell-cafe o bibliotece graficznej SOE wykazującej podobne zachowanie "Kod z Haskell School of Expression Hanging" - http://www.haskell.org/pipermail/haskell-cafe/2011- January 088697.html. Przepraszam, nie znam rezolucji. –
Jakimkolwiek przypadkiem jest libcairo-2.dll w miejscu ze spacjami w ścieżce dostępu? Czy mógłbyś również opublikować wersję ghci, której używasz (w każdym razie wygląda na to, że to linker)? –
Może być niedopasowanie "stdcall"/"ccall". Czy nazwa symbolu w bibliotece DLL ma taki sufiks jak '@ 4'? –