According to the manual, I have to use the -shared flag to compile a library.
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