2011-11-05 47 views
9

我經常會遇到在測試中使用main :: IO()函數的情況。我可以用runghc來運行這些,但有時我想編譯它們(例如,在另一個平臺上運行)。有沒有辦法做到這一點?如果我運行,例如,haskell - 如何從非主模塊創建二進制文件?

ghc --make Test.Haar 

其中Test/Haar.hsmain方法,那麼什麼都不會發生,它只是創建.o文件。

+1

我不確定這是否是您要查找的內容,但請查看-main-is選項(文檔位於http://www.haskell.org/ghc/docs/7.2.1/html/users_guide/options -phases.html) –

回答

13
ghc --make -main-is Test.Haar Test.Haar 
4

但是請注意,在使用-main-is Test.Haar後,如果您想使用該模塊作爲另一個程序的一部分,你必須重新編譯它沒有-main-is,否則連接器會發現兩個入口點和拋出錯誤。