5

好的,这应该很简单,但似乎无法弄清楚。我有两个项目,ProjectA 和 ProjectB。ProjectB 依赖于旧项目 ProjectA。现在我想构建 ProjectB。而且我现在不想更改 ProjectA 的目录结构。问题是,我总是将 -outputdir bin 与 ProjectA 一起使用。

项目A 看起来像这样:

ProjectA/
  bin/
    (*.o, *.hi in proper paths, sometimes also *.p_o and *.p_hi)
  Foo/
    ModuleX.hs
  ModuleA.hs
  ModuleB.hs

现在我有一个与 ProjectB 不同的文件夹,它有自己单独的 -outputdir。我只需要链接到旧的项目对象文件(无需重新编译 ProjectA 文件)。我意识到我可能会阴谋化 ProjectA ......但是没有更简单的方法吗?

4

1 回答 1

2

“简单的方法”是使用 Cabal。一旦你安装了项目 A,你就再也不用担心它到底到底存储在哪里了。GHC 只会找到它。

如果您不想这样做,请尝试使用-i切换到 GHC 来告诉您要搜索哪些文件夹来搜索您的编译内容。

http://www.haskell.org/ghc/docs/7.0.1/html/users_guide/separate-compilation.html

于 2013-02-14T22:33:30.943 回答