好的,这应该很简单,但是似乎无法弄清楚。我有两个项目,ProjectA和ProjectB。 ProjectB依赖于旧项目ProjectA。现在我要构建ProjectB。而且我现在不想更改ProjectA的目录结构。问题是,我始终将-outputdir bin与ProjectA一起使用。
ProjectA看起来像这样:
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进行盲目化...但是没有更简单的方法吗?
最佳答案
“简单的方法”是使用Cabal。一旦安装了Project A,您就不必再担心它实际存储在什么地方了。 GHC会找到它。
如果您不想执行此操作,请尝试使用GHC的-i
开关告诉要搜索哪些文件夹的已编译内容。
http://www.haskell.org/ghc/docs/7.0.1/html/users_guide/separate-compilation.html
关于haskell - 在GHC中链接单独的项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14884561/