我经常遇到在测试中留下main :: IO ()
函数的情况。我可以使用runghc
运行这些,但有时我想编译它们(例如,在另一个平台上运行)。有没有办法做到这一点?如果我跑,例如,
ghc --make Test.Haar
其中Test/Haar.hs
有main
方法,但没有任何反应,只是创建.o
文件。
答案 0 :(得分:13)
ghc --make -main-is Test.Haar Test.Haar
答案 1 :(得分:4)
但是,请注意,在使用-main-is Test.Haar
之后,如果要将模块用作另一个程序的一部分,则必须在不使用-main-is
的情况下重新编译它,否则链接器将找到两个条目 - 指向并抛出错误。