[英]Compiling separate modules in GHC
我確實在做GHC中必須做的非常簡單的事情:我有一個可以正常工作並且編譯良好的程序,但是當我將其拆分以使部分代碼位於單獨的模塊中時,我無法使它工作。 單獨的模塊稱為FICutilities
ghc -o FICutilities FICutilities.hs C:\\ ghc \\ ghc-6.10.1 / libHSrts.a(Main.o):Main.c :(。text + 0x7):對
__stginit_ZCMain' C:\\ghc\\ghc-6.10.1/libHSrts.a(Main.o):Main.c:(.text+0x36): undefined reference to
未定義引用__stginit_ZCMain' C:\\ghc\\ghc-6.10.1/libHSrts.a(Main.o):Main.c:(.text+0x36): undefined reference to
ZCMain_main_closure的__stginit_ZCMain' C:\\ghc\\ghc-6.10.1/libHSrts.a(Main.o):Main.c:(.text+0x36): undefined reference to
'collect2:ld返回1退出狀態
據我所知,這是因為沒有主要功能,但我不想在此模塊中使用一個功能。 我使用的版本是6.10.1,因為我無法使用更新的版本。
請有人幫忙嗎? 謝謝克萊爾
只需添加-c
開關即可。
但是,您不應該自己構建模塊:建議的構建方法是使用Cabal。
其他方式是:
ghc --make Main.hs
生成main並根據需要重新編譯其依賴項。 ghc -M Main.hs
遞歸解析導入並生成具有相關性的makefile,因此您可以在構建系統中使用此信息。 http://www.haskell.org/ghc/docs/latest/html/users_guide/modes.html和http://www.haskell.org/ghc/docs/latest/html/users_guide/modes.html#make都不-mode說--make
已過時。 如果Cabal是可行的選項,則不建議使用。 如果沒有Cabal,一個大項目很難維護。 Haskell工具鏈中的某些工具具有Cabal插件(例如UUAGC屬性語法預處理器等)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.