我对Haskell很新,我最近用GHC安装了这个平台。我决定通过编译一个简单的Hello world程序来测试它:main = putStrLn "Hello, world"
现在,当我进入命令行(Windows 7),找到正确的目录,并输入ghc hello.hs
时,它会返回以下消息:“[1 of 1]编译Main(你好。 hs,hello.o)“。我知道,一旦完成编译,它应该跟随“链接hello.exe ...”,但是从来没有,并且没有.exe生成。
基本上,有没有明显的理由说明为什么会发生这种情况?代码有问题,有什么我不知道的,或者我应该尝试重新安装Haskell平台?
谢谢。
答案 0 :(得分:10)
我得到了ghc,通过从文件的开头删除模块声明将我的程序链接到可执行文件中。
答案 1 :(得分:1)
它是否生成了a.exe或a.out.exe或a.out文件?如果没有,那么也许你可以自己链接它? ld -o hello.exe hello.o
或您平台上的链接命令。
答案 2 :(得分:1)
我会使用--make
选项,如ghc --make hello.hs
中所示。 (如果你愿意的话,你实际上可以省略文件扩展名。)这将自动确定需要做什么,哪些包需要链接,并且通常做你期望的一切。