[英]How to compile an executable from Haskell Stack build?
|-aseCswk2
|-app
|-Main.hs
|-src
|-Libs.hs
|-test
|-Spec.hs
|-aseCswk2.cabal
|-Setup.hs
|-package.yaml
...
所以我有一个 Haskell 项目,它使用 Stack 构建系统,并如上例所示。 如果我使用$ stack test
,那么我的 Libs.hs 文件中的函数将使用我的 Spec.hs 文件中的案例进行测试。 如果我使用$ stack build
那么我的文件构建成功,我可以使用$ stack ghci
中的函数。
但是,我想创建我的 Main.hs 文件的可执行文件,但不知道这怎么可能。 我尝试在应用程序目录中使用$ ghc Main.hs
对其进行编译,但即使我已将其作为导入包含在内,也会出现错误提示“无法为 Lib 加载接口”。 我也尝试过$stack build aseCswk2:exe:aseCswk2-exe
但没有创建.o
文件来运行。
Haskell-stack 在隐藏的.stack-work
目录中构建可执行文件。 您可以找出stack
使用的二进制文件的位置:
$ stack path --local-install-root
/haskell/app/.stack-work/install/x86_64-linux/3fa5b3c3fbcd473981eef72c68d572129654cbb7c23af146b50d90e29c41b62f/8.6.5
在此目录中,如果您构建应用程序,则存在已构建的二进制文件所在的bin/
目录。
您还可以使用以下命令运行应用程序:
$ stack run
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.