HaskellプロジェクトでCabalのさまざまなMIN_VERSION_
マクロを使用する場合、GHCiでテストする場合など、cabalを使用していないときに、それらがすべて正しく定義されていることを確認するにはどうすればよいですか?
1989 次
1 に答える
21
現在、すべてのセットアップをcabal
行うサブコマンドをサポートしているcabal repl
ため、少なくともghci
次の場合は不要です。それにもかかわらず:
このcabal build
コマンドは、dist/build/autogen/cabal_macros.h
必要なすべての定義を含むファイルを生成します。そのファイルをghc呼び出しに含めるには、フラグが必要です-optP-include -optPdist/build/autogen/cabal_macros.h
。
便宜上、.ghci
プロジェクトディレクトリ内のファイルに次のものを配置できます。
:set -optP-include -optPdist/build/autogen/cabal_macros.h
ghciを使用するたびにオプションを入力する必要がないようにします。
ただし、注意してください。マクロは、最後に実行したときの構成に従って定義され、cabal build
新しいパッケージをインストールしたり、別のGHCバージョンを使用したりしても更新されません。そのため、パッケージを再構成して再構築する必要があります。
(この知恵のライブラリリストにあるSimon Hengelに感謝します:http://www.haskell.org/pipermail/libraries/2012-September/018491.html)。
于 2012-09-22T18:52:39.520 に答える