2012-05-17 23 views
2

我在下面的製作DLL的指導,以其他語言在這裏被稱作:哈斯克爾編譯DLL「未定義的引用」

http://www.haskell.org/ghc/docs/7.0.4/html/users_guide/win32-dlls.html

我第一次編譯哈斯克爾模塊和輔助C文件像這樣:

GHC -c SanitizeXSS.hs

GHC -c StartEnd.c

但是,當我嘗試了一切,像這樣連在一起:

GHC -shared -o SanitizeXSS.dll SanitizeXSS IdsSanitizeXSS_stub.o StartEnd.o

,我有很多這樣的錯誤信息:

SanitizeXSS.o:假<。數據+ 0760>:未定義參照 'textzm0zi11zi1zi5_DataziText_zdf0rdText_closure'

SanitizeXSS.o當我編譯Haskell模塊時自動生成的目標文件。

我試過-no-hs-main在其他線程中提到的技巧。

上下文:我試圖用FFI導出一個Haskell函數,然後我希望在C#中調用託管包裝器。

+0

我一直在努力做到這一點以及沒有運氣。任何成功? – Daniel

回答

1

嘗試將--make傳遞給ghc,以便它將解析對缺少的Haskell庫的引用。或者,列出你明確鏈接的Haskell包。