gpt4 book ai didi

haskell - 具有多个图书馆部分的 cabal

转载 作者:行者123 更新时间:2023-12-04 01:59:38 26 4
gpt4 key购买 nike

是否可以写一个Cabal配置文件,包含多个Library sections ?

我在 the documentation 中找到图书馆的描述栏目和可执行文件 部分 ,因此似乎不可能将更多库部分放在一个 Cabal 配置文件中。

但是如果我正在开发几个 Haskell 库和几个可执行文件,我该怎么办?
同时并想要编译和测试它们?

最佳答案

AFAIK,你不能在一个 cabal 文件中放置多个库。 Name 中指定的名称字段(在 cabal 文件的顶层)用作库的名称,因此似乎没有指定其他库名称的机制。

在实践中,我没有发现这是一个问题。我在一个单独的目录中开发每个库,并使用它自己的 cabal 文件。一旦你运行 cabal install在您开发的库上,然后可以在您的可执行文件的 cabal 文件中引用它(在 Build-Depends 部分),就像 Hackage 上的包一样。

因此,例如,如果您有两个带有如下 cabal 文件的库:

Name:              my-library-1
. . .


Name:              my-library-2
. . .

然后可执行文件的 cabal 文件可以像这样引用它们:
Name:              my-program
. . .
Executable run-program
Main-Is: Main.hs
Build-Depends: my-library1,
my-library2,
. . .

您甚至可以要求特定版本的库。例如:
Build-Depends:    my-library1==1.2.*,
my-library2>=1.3

关于haskell - 具有多个图书馆部分的 cabal ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18123911/

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