web-dev-qa-db-ja.com

Makeを使用してファイルを作成する目的

cmake ..makeなどのコマンドを使用してファイルを作成する目的を理解しようとしています。オンラインで調べてみましたが、その目的について簡潔な説明が見つかりませんでした。

また、他のプロジェクトでソース(C++)を使用するために、ビルドされていないプロジェクトフォルダーでmakeを使用する必要がありますか。

これは単純な質問かもしれませんが、ファイルの作成はかなり新しいので、情報や参照をいただければ幸いです。

4
foo

プログラムが、コンパイラを呼び出す単純なコマンドラインでビルドできるファイルが数個しかない場合は、makeが不要になる可能性があります。ただし、大規模なプロジェクトでは、複雑なコンパイラとリンカのオプションを必要とするファイルが数十ある場合があり、makeまたは同様のツールが必要になります。 50個のC++ソースファイルを含むプロジェクトがあり、そのうちの1つだけを変更した場合、それらすべてを再コンパイルする必要はないと考えてください。変更した1つのファイルを再コンパイルし、残りのファイルについては既存のオブジェクトファイルと再リンクするだけです。 makeのようなツールは、そのような雑用を自動的に処理します。

make言語には多くの疣贅があり、誰もが好きなプログラミング言語ではないと思います。 Linux、OS X、Windowsなどの複数のプラットフォームで機能するmakefileを作成することも非常に注意が必要です。 cmakeのようなツールを使用して、複数のプラットフォームで機能するmakefilesを生成でき、makeよりも醜くない言語でソフトウェアを構築するプロセスを記述できます。

13

makeは、コンパイル/リンク/ビルドなどのバッチプロセスの一種です。これらの手順をすべて手動で実行することも、makeを使用することもできます。

詳細はこちら: http://c.learncodethehardway.org/book/ex2.html および http://www.gnu.org/software/make/

5
Robert Harvey

プロジェクトが小さくなるまで、メイクファイルなしでプロジェクトをビルドするのは非常に簡単です。しかし、プロジェクトに200個のソースファイルがあり、それらをいくつかの静的ライブラリと動的ライブラリに分割した場合、コマンドプロンプトで200個のファイルの名前をコンパイラに渡すことは不可能です。また、プロジェクトをビルドするバッチファイルを作成することもできます。ただし、makeファイルはバッチファイルよりも優れています。特に、cmakeを使用すると、ソースコードを任意のコンパイラで簡単にビルドできます。これが、大規模なプロジェクトがmakefileを使用する理由です。

注:VisualStudioのように便利なIDEを使用する場合、IDEを使用すると簡単になるため、メイクファイルを作成する必要性を感じることはあまりありません。 。

2
Fish