2011-11-05 130 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,否则连接器会发现两个入口点和抛出错误。