
According to the manual, I have to use the -shared flag to compile a
library.
But I get the following error:
link: GHC not built to link this way: LinkDynLib
Guess I have to recompile ghc !
2010/1/3 Jean-Denis Koeck
Hello, I'm using the following cabal file to build a shared library with ghc:
Build-Type: Simple Executable libmylibrary.dll If os(windows) CPP-Options: -DWIN32 Extensions: ForeignFunctionInterface Build-Depends: ... Main-Is: libmylibrary.hs Ghc-Options: -W --make -no-hs-main -optl-shared -optl-s -O2
The resulting library is called from a C++ graphical user interface (using Qt), which worked great so far on Windows and Linux.
However, the compilation fails on MacOS X:
Undefined symbols: "_ZCMain_main_closure", referenced from: _ZCMain_main_closure$non_lazy_ptr in libHSrts.a(Main.o) "___stginit_ZCMain", referenced from: ___stginit_ZCMain$non_lazy_ptr in libHSrts.a(Main.o) ld: symbol(s) not found collect2: ld returned 1 exit status
I don't know much about shared libraries, even less about them on MacOS X :( Any idea ?
Jean-Denis Koeck