簡體   English   中英

在GHC中編譯單獨的模塊

[英]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。

其他方式是:

  1. ghc --make Main.hs生成main並根據需要重新編譯其依賴項。
  2. ghc -M Main.hs遞歸解析導入並生成具有相關性的makefile,因此您可以在構建系統中使用此信息。

http://www.haskell.org/ghc/docs/latest/html/users_guide/modes.htmlhttp://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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM