Ответ 1
Я получил ghc, чтобы связать свою программу с исполняемым файлом, удалив объявление модуля с самого начала файла.
Я очень новичок в Haskell, и недавно я установил платформу с GHC. Я решил проверить это, скомпилировав простую программу Hello world: main = putStrLn "Hello, world"
Теперь, когда я перехожу в командную строку (Windows 7), найдите нужный каталог и введите ghc hello.hs
, он возвращается со следующим сообщением: "[1 из 1] Compiling Main (hello.hs, hello.o)". Я понимаю, что после компиляции он должен следовать с "Linking hello.exe...", но это никогда не приходит, и не создается .exe.
В принципе, есть ли какая-то заметная причина, почему это происходит? Есть ли проблема с кодом, есть ли что-то, о чем я не знаю, или просто попробую переустановить платформу Haskell?
Спасибо.
Я получил ghc, чтобы связать свою программу с исполняемым файлом, удалив объявление модуля с самого начала файла.
Вывел ли файл a.exe или a.out.exe или a.out? Если нет, то, может быть, вы можете просто связать его самостоятельно? ld -o hello.exe hello.o
или независимо от того, какая команда связи находится на вашей платформе.
Я бы использовал параметр --make
, как в ghc --make hello.hs
. (Фактически, вы можете оставить расширение файла, если хотите). Это автоматически определит, что нужно сделать, какие пакеты, если необходимо, нужно связать, и обычно делать все, что вы ожидаете.