Haskell编译DLL“;“未定义引用”;

Haskell编译DLL“;“未定义引用”;,haskell,linker,Haskell,Linker,我在这里遵循从其他语言调用DLL的指南: 我首先编译Haskell模块和helper C文件,如下所示: ghc-c消毒液SS.hs ghc-c StartEnd.c 但当我试着把它们联系在一起时,就像这样: ghc-shared-o SanitizeXSS.dll SanitizeXSS idssanizizexss_stub.o StartEnd.o 我收到很多类似这样的错误消息: SanitizeXSS.o:false:未定义对“textzm0zi11zi1zi5_DataziText_

我在这里遵循从其他语言调用DLL的指南:

我首先编译Haskell模块和helper C文件,如下所示:

ghc-c消毒液SS.hs

ghc-c StartEnd.c

但当我试着把它们联系在一起时,就像这样:

ghc-shared-o SanitizeXSS.dll SanitizeXSS idssanizizexss_stub.o StartEnd.o

我收到很多类似这样的错误消息:

SanitizeXSS.o:false:未定义对“textzm0zi11zi1zi5_DataziText_zdf0rdText_closure”的引用

o编译Haskell模块时自动生成的对象文件

我已经尝试了其他线程中提到的
-no hs main
技巧


上下文:我正在尝试使用FFI导出一个Haskell函数,然后希望在C#中调用一个托管包装器。

尝试将
--make
传递给ghc,以便它能够解析对缺少的Haskell库的引用。或者,明确列出您链接的Haskell软件包。

我也一直在尝试这样做,但运气不佳。成功了吗?