【发布时间】:2020-05-22 13:53:36
【问题描述】:
|-aseCswk2
|-app
|-Main.hs
|-src
|-Libs.hs
|-test
|-Spec.hs
|-aseCswk2.cabal
|-Setup.hs
|-package.yaml
...
所以我有一个使用 Stack 构建系统的 Haskell 项目,其布局如上例所示。如果我使用$ stack test,那么我的 Libs.hs 文件中的函数将使用我的 Spec.hs 文件中的案例进行测试。如果我使用$ stack build,那么我的文件会成功构建,我可以使用$ stack ghci 中的函数。
但是,我想创建 Main.hs 文件的可执行文件,但不知道这怎么可能。我尝试在应用程序目录中使用$ ghc Main.hs 对其进行编译,但即使我已将其作为导入包含在内,也会出现错误提示“无法为 Lib 加载接口”。我也尝试过$stack build aseCswk2:exe:aseCswk2-exe,但没有创建.o 文件来运行。
【问题讨论】:
-
您可以使用
stack run运行程序。这些文件在一个名为.stack-world的隐藏目录中构建。 -
@WillemVanOnsem 谢谢运行我的代码
-
如果你运行
stack build,它会在最后一行打印可执行文件的位置。
标签: haskell compilation executable haskell-stack