質問
私は最近させることの必要性を感じぶ構築ツールです。いよStackOverflowのための勧告およびGnu Makeがほとんど挙げられる。をいただくこともできましたが見Ant、MavenのCMake Sconます。しかし、私はちょっとした"ローグから事前に寄せられた質問していない-イン-ザ-レポするものなのかどうかに関してもあるため、全てを必要とす make && make install
ます。
での学習をしていかなければならないと投資の自時間以上学習ツールですか?
その理由によって成り立っていくのか?
解決
ていくこと の 標準の構築ツールでC/C++.多くの人強のプレートであっても、も便利で成功すると、その達成の携帯機器の。
を設置し事実上すべてのUnixのような機械があります。なんとエクス,Solaris,Irix,BSD,Linuxの場合がコンパイラをインストールもあります。
あの"交換"(Automake,CMake)を使って<div>タグを埋め込む実行する順番に実行されます。
思 あ おなじます。の場合が取り扱う人の利用者の方に 学ぶ makeでは、強力なツールで使用できる方ならずとも必ずしも関連するソフトウェア開発に従事。
れていない場合もあり用別のビルドツールを、できる"リサイクル"の教訓をどのようにして、基になるコンセプトできていることが分かります。の数が多することになるでしょう築プロジェクトに関することはいつでもありますのでまい既存のMakefile.
ひとつあります。 しかかってしまいます。
他のヒント
私はあなたが(GNU)は言及作る表示されていない理由は、それは多くの場合、デフォルトだということだと思います。あなたはGNUツールチェーンを持っている場合、あなたはすでにメイクを持つことになります。このように、ビルドツールについて話し始めるほとんどの人は、何か他のものについて話します。
私の経験では、細かいですが、それはそれはあなたがしたい正確に何をやって取得するようなトリッキーなことができます。それは多分少し難解だが、それは実証済みだと動作します。
作るためには、時の試練に立って、成熟した、それは、Linux / * nixのプロジェクトでのC / C ++ソース用(主に)使用しているため人気があり、あなたが言及した他のツールのいずれよりもはるかに古いです。ちょっとタールのような。
あなたと正直に言うと、私は作る知っています。これらの他のツールは、上記より良いかもしれないが、非常に多くのプロジェクトは、ちょうどあなたがそれの少なくとも少しを知っオフ最高だ基本的なMakefileを使用しています。だけでなく、職場で独自のプロジェクトのためにしかし、あなたはネット上で見つけたオープンソースのものの大半ます。
それは本当にあなたがそれを使用しますどのくらい依存します。
C / Cと前年比仕事がたくさんあれば++プロジェクトを作成し、[はい、私は大規模なメイクファイルは、あなたが言及他のビルドツールよりも急峻な学習曲線を持っているとして、それについての詳細を学ぶことをお勧めします。
あなたは、このようなC#、JavaやPHPなど他の言語でメイク、または仕事では動作しない場合は、あなたはこれらの言語に関連するツールを構築学習したほうが良いと思います。
は、すべてのツールと同様、あなたがすべてでそれを使用する場合、あなたはいくつかの時間を置く必要があります これで、合理的に熟達になりつつに。また、(例えばCMakeの、など)いくつかのツールは、makefileを生成して、あなたは1日、これらの生成されたファイルを台無しにする必要があります。
GNU作る優れたマニュアルのを持っている - それは確かにspendin価値があります時間か2それを読んでます。
メイクは、例えば、Linuxシステム上のデファクトスタンダードです。また、非常に強力なツールと非常に複雑なツールであり、かつます。
あなたは、Linux / * nixのをターゲットに、特に場合は、CまたはC ++を開発しているかどうかを学習するのに適しています。
メイクの特徴の一つは、あなたがファイルを再構築する際の依存関係を設定することができるということです。例えば。各CまたはC ++ファイルは、.objファイルに構築され、そして最後に、すべての.objファイルが実行可能ファイルにリンクされています。しかし、おそらく実行可能ファイルは、他の.objファイルと別の実行ファイルにリンクされている静的にリンクされたライブラリです。
あなたは、あなたがそれ、または任意の依存ヘッダファイルは、.objファイルという新しい場合、Cファイルのみをコンパイルする必要があることを定義することができますので、時間は、できるだけ短く、コンパイルことを確認できることを確認してください。だから、任意のコンパイルやリンクするステップだけステップの現在のソースファイルがターゲットファイルという新しい場合に実行されます。
を使用すると、たとえば、C#のためで開発している場合は、すべての.csファイルが単一の実行に一度にコンパイルされるので、依存性チェックのこの種を必要としません。
だから、結論は、あなたがプログラミング言語の選択に適していビルドツールを使用する必要があるということです。
あなたは別のビルドツール(個人的に私はVSのが好きだ...私は知っている...)makeはおそらくより有用であることが分かるだろう知っています。
を好む終わる場合でも、多くのアプリケーションを持っており、それは重鎮と柔軟性があり、新しい技術を扱うときには、常に単一のタスクのための理想的ではありませんしながら確認します。
私は推測おそらく異なっているが、私はどこでも私は、少なくとものMakefileの読み方を学んでいなかった場合、私ははるかに少ない貴重な従業員であったであろうに働いてきたことを知っています。でも、すべてのWindowsのVisualStudioの環境では、それはすべての今してアップします。
たとえば、私たちはWindowsに古いCX / UXコードの束を移植関係の仕事を得ました。古いコードは、メイクファイルで構築されました。これらの古いmakefileを読み取る方法を知らなくても、彼らの古いシステムを理解する方法はありません。