7

大きなプロジェクトをコンパイルします: コンパイルを実行すると、「unfinished jobs」エラーで失敗します clean /clobber を作成すると、別の場所で同じエラーで失敗しますか?

コンパイルの clean と clobber の違いは何ですか? そして、上記の問題はどのように解決されるのでしょうか?

4

2 に答える 2

18

Keith の言うとおりです。クリーンで clobber は、makefile の作成者が望んでいることを意味します。

実際には、通常、2つの違いは次のとおりだと思います。

  • clean: 作成されたすべてのオブジェクト ファイルを削除します
  • clobber: すべてのオブジェクト ファイルと、cpp ファイルの依存関係を指定する、生成された中間依存関係ファイルを削除します。

少なくとも、私が携わったプロジェクトではそうでした。

于 2012-08-25T02:21:32.497 に答える
4

コマンドを実行すると言っていると思います

make clean

また

make clobber

これらは、 で指定されたターゲットMakefileです。それらの意味は、Makefile の内容によって決まります。それらは事前定義されていません。通常、どちらもコンパイル時に生成されたファイル (実行可能ファイル、オブジェクト ファイル) を削除します。と の間に違いがあるとすれば、の作者の気まぐれcleanclobber依存しMakefileます。

于 2012-08-25T00:24:20.567 に答える