ここで、他の言語から呼び出されるように DLL を作成するためのガイドに従っていました。
http://www.haskell.org/ghc/docs/7.0.4/html/users_guide/win32-dlls.html
最初に Haskell モジュールとヘルパー C ファイルを次のようにコンパイルします。
ghc -c SanitizeXSS.hs
ghc -c StartEnd.c
しかし、次のようにすべてをリンクしようとすると:
ghc -shared -o SanitizeXSS.dll SanitizeXSS IdsSanitizeXSS_stub.o StartEnd.o
次のようなエラー メッセージがたくさん表示されます。
SanitizeXSS.o:fake<.data+0760>: 「textzm0zi11zi1zi5_DataziText_zdf0rdText_closure」への未定義の参照
SanitizeXSS.o Haskell モジュールをコンパイルしたときに自動生成されたオブジェクト ファイル。
-no-hs-main
他のスレッドで言及されているトリックを試しました。
Context : FFI を使用して Haskell 関数をエクスポートしようとしています。この関数は、C# の Managed Wrapper で呼び出されることを願っています。