5

これは簡単なはずですが、これを理解できないようです。ProjectA と ProjectB の 2 つのプロジェクトがあります。ProjectB は古いプロジェクト ProjectA に依存しています。今、私は ProjectB をビルドしたいと思います。また、ProjectA のディレクトリ構造を変更したくありません。問題は、私は常に ProjectA で -outputdir bin を使用していたことです。

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をカバラ化できると思いますが、もっと簡単な方法はありませんか?

4

1 に答える 1

2

「簡単な方法」は、Cabal を使用することです。プロジェクト A をインストールしたら、それが実際にどこに保存されているかを心配する必要はもうありません。GHCはそれを見つけるだけです。

これをしたくない場合は、-iGHC へのスイッチを使用して、コンパイル済みのものを検索するフォルダを指定してみてください。

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

于 2013-02-14T22:33:30.943 に答える