Hi Everybody, So, like every one else on this list, I have a C library that I would like to access form Haskell. I am in the process of writing a Haskell interface for the distorm3 disassembler. The library was compiled into a DLL using MSVC. Because this is the first I've used FFI I'm keeping it simple and there is only one function I import Ala:
foreign import ccall "distorm.h distorm_version" c_distorm_version :: IO (CUInt) The issue is when I try to compile the library the linker goes haywire: C:\Users\tantalum\Documents\Research\distorm_test>ghc --make Main.hs [2 of 2] Compiling Main ( Main.hs, Main.o ) Linking Main.exe ... .\Distorm3.o:fake:(.text+0x11b): undefined reference to `distorm_version' collect2: ld returned 1 exit status C:\Users\tantalum\Documents\Research\distorm_test>ghc --make Main.hs -l distorm3 Linking Main.exe ... C:\Program Files (x86)\Haskell Platform\2010.2.0.0\mingw\bin\ld.exe: cannot find -lC:\Users\tantalum\AppData\Local\Temp\ghc5976_0\ghc5976_0.o collect2: ld returned 1 exit status Any ideas or suggestions? What is that temporary object file for? Thanks in advance for any help. Hope you all are having a good day. Nabil Alsharif. _______________________________________________ FFI mailing list FFI@haskell.org http://www.haskell.org/mailman/listinfo/ffi