【发布时间】:2012-02-16 22:32:11
【问题描述】:
我是 Haskell 的新手,我最近安装了带有 GHC 的平台。我决定通过编译一个简单的 Hello world 程序来测试它:main = putStrLn "Hello, world"
现在,当我进入命令行 (Windows 7) 时,找到正确的目录,然后输入 ghc hello.hs,它会返回以下消息:“[1 of 1] Compiling Main (hello.hs,你好.o)”。我知道一旦完成编译,它应该跟随“Linking hello.exe ...”,但它永远不会出现,也不会产生.exe。
基本上,有什么明显的原因会发生这种情况吗?代码有问题吗,有什么我不知道的,还是我应该尝试重新安装 Haskell 平台?
谢谢。
【问题讨论】:
-
明确一点:您担心是因为它没有生成 hello.exe,还是因为它没有显示那段文本?它是否真的生成可执行文件,并且该可执行文件是否按照指示执行?
-
抱歉 - 它不会生成 .exe。据我所知,它也不会产生 .o 或 .hi 文件。一旦创建,GHC 通常会将这些文件放在哪里?在与 .hs 相同的目录中?
-
是的,通常是同一个目录。如果您有较旧的 GHC,您可能需要
ghc --make hello.hs。你有什么版本的 GHC?ghc --version如果您最近安装它应该是 7.0.4 我认为。我在 Win7 上有 7.0.3,ghc hello.hs && hello.exe工作得很好。 -
尝试从命令行编译 .hs 仍然无法使用上述建议(它是 7.0.4)。但是,当使用“打开方式...”并选择 ghc 时,它似乎编译得很好。一切都在那里,.exe 按预期运行。虽然我仍然有点厌烦它在命令行中不起作用,以防我将来想使用选项,但现在应该可以正常工作。谢谢大家的意见
-
我可以编译我的 Hello.hs。 *.hi、*.o 和 *.exe 文件出现,但是当我尝试运行 Hello.exe 时,cmd 一直运行,没有任何反应...
标签: windows haskell compilation ghc