2

所以我的文件夹结构是这样的

.
├── eulerlibs
│  ├── EulerLibs
│  └── eulerlibs.cabal
├── flake.lock
├── flake.nix
├── p001
│  ├── Main.hs
│  └── p001.cabal
├── p002
│  ├── Main.hs
│  └── p002.cabal
├── p003
│  ├── Main.hs
│  └── p003.cabal
├── p004
│  ├── Main.hs
│  └── p004.cabal
├── p005
│  ├── Main.hs
│  └── p005.cabal

我想要做的是在./eulerlibs(库)cabal 目录中导入库模块,让我们说./p005(可执行)cabal 目录
我知道我可以包含构建的库(* .so),但找不到链接两个 cabal 的方法项目
我对 cabal 和 haskell 都很陌生,所以一些见解将不胜感激。如果没有任何结果,我将不得不将库添加到我真的想避免的 p005 本身。

4

1 回答 1

4

您可以使用cabal.project文件执行此操作。将其放在具有以下内容的顶层(在.目录中):

packages: */*.cabal

然后,您将能够在构建依赖项中使用彼此的 cabal 文件中的所有这些库,例如p001.cabal

...

library
  ...
  build-depends: base, eulerlibs
  ...

...

这是文件的完整文档cabal.projecthttps ://cabal.readthedocs.io/en/latest/cabal-project.html

于 2021-07-06T17:48:29.713 回答