cmake ..
やmake
などのコマンドを使用してファイルを作成する目的を理解しようとしています。オンラインで調べてみましたが、その目的について簡潔な説明が見つかりませんでした。
また、他のプロジェクトでソース(C++)を使用するために、ビルドされていないプロジェクトフォルダーでmake
を使用する必要がありますか。
これは単純な質問かもしれませんが、ファイルの作成はかなり新しいので、情報や参照をいただければ幸いです。
プログラムが、コンパイラを呼び出す単純なコマンドラインでビルドできるファイルが数個しかない場合は、make
が不要になる可能性があります。ただし、大規模なプロジェクトでは、複雑なコンパイラとリンカのオプションを必要とするファイルが数十ある場合があり、make
または同様のツールが必要になります。 50個のC++ソースファイルを含むプロジェクトがあり、そのうちの1つだけを変更した場合、それらすべてを再コンパイルする必要はないと考えてください。変更した1つのファイルを再コンパイルし、残りのファイルについては既存のオブジェクトファイルと再リンクするだけです。 make
のようなツールは、そのような雑用を自動的に処理します。
make
言語には多くの疣贅があり、誰もが好きなプログラミング言語ではないと思います。 Linux、OS X、Windowsなどの複数のプラットフォームで機能するmakefile
を作成することも非常に注意が必要です。 cmake
のようなツールを使用して、複数のプラットフォームで機能するmakefiles
を生成でき、make
よりも醜くない言語でソフトウェアを構築するプロセスを記述できます。
make
は、コンパイル/リンク/ビルドなどのバッチプロセスの一種です。これらの手順をすべて手動で実行することも、make
を使用することもできます。
詳細はこちら: http://c.learncodethehardway.org/book/ex2.html および http://www.gnu.org/software/make/
プロジェクトが小さくなるまで、メイクファイルなしでプロジェクトをビルドするのは非常に簡単です。しかし、プロジェクトに200個のソースファイルがあり、それらをいくつかの静的ライブラリと動的ライブラリに分割した場合、コマンドプロンプトで200個のファイルの名前をコンパイラに渡すことは不可能です。また、プロジェクトをビルドするバッチファイルを作成することもできます。ただし、makeファイルはバッチファイルよりも優れています。特に、cmake
を使用すると、ソースコードを任意のコンパイラで簡単にビルドできます。これが、大規模なプロジェクトがmakefileを使用する理由です。
注:VisualStudioのように便利なIDEを使用する場合、IDEを使用すると簡単になるため、メイクファイルを作成する必要性を感じることはあまりありません。 。