19

Setup.lhsの関数にputStrLn "Hello"行を追加しましたが、またはを実行すると表示されることを期待していました。でもやらなかった。maincabal configurecabal build

次に、コンパイルSetup.lhsghc --makeて実行./Setup configureすると、行が表示されました。

それが意図的に行われた場合、私はこれの背後にある論理的根拠を理解しておらず、ファイルにSetup.lhsファイルする必要さえありません。これらをクリアしてくれませんか?

4

1 に答える 1

30

あなたはおそらく持っています

build-type: Simple

あなたの.cabalファイルで。Simpleビルドタイプを選択すると、基本的に、Setupファイルはを呼び出すだけdefaultMainで、cabalバイナリはそれを呼び出さないことを約束します。Setupファイルが毎回実行されるようにする場合は、行を次のように変更します。

build-type: Custom

とにかくファイルを要求する理由についても質問しSetupます。実際には、ビルドタイプを使用する場合は必要ありません。バイナリは、それなしで問題なく構成およびインストールされますSimplecabalただし、ツールではなくライブラリを使用できるSetupパッケージをユーザーがインストールできるため、任意のパッケージにファイルを含めることをお勧めします(このため、Hackageはファイルの存在を強制します)。Cabalcabal-installSetup

于 2012-12-14T09:49:44.843 に答える