我正在尝试运行从Haskell源代码生成的LLVM位代码,而不是将代码编译为macOS上的本机二进制文件。
我有以下文件:
$ cat hello_world.hs
main =
putStrLn "Hello world!"
我正在按照以下步骤创建.bc
文件:
$ brew install stack
$ brew install llvm@6
$ stack ghc -- -keep-llvm-files hello_world.hs
$ clang -c -emit-llvm hello_world.ll -o hello_world.bc
当我现在尝试运行它时,出现以下错误:
$ lli hello_world.bc
'main' function not found in module.
当我将-fllvm
设置为通过LLVM编译为本机二进制文件时,它都可以工作,因此LLVM设置似乎没有问题。
如何解决?