gpt4 book ai didi

haskell - 如何从 Haskell Stack 构建中编译可执行文件?

转载 作者:行者123 更新时间:2023-12-04 09:54:21 24 4
gpt4 key购买 nike

|-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 加载接口(interface)”,即使我已将其作为导入包含在内。我也试过 $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

关于haskell - 如何从 Haskell Stack 构建中编译可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61956615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com