さまざまなコンパイラ (gcc、microsoft vc++、borland など) およびさまざまなプラットフォーム (Win、Linux、Mac) 用の C/C++ プロジェクトのメイクファイルを生成できるツールを探しています。
10 に答える
あなたが考慮したいと思うかもしれない他の提案:
Sconsは、クロスプラットフォーム、クロスコンパイラのビルドライブラリであり、ビルドシステムにPythonスクラッピングを使用します。さまざまな大規模プロジェクトで使用され、非常に優れたパフォーマンスを発揮します。
Qtを使用している場合、QMakeも優れたビルドシステムです。
CMakeもかなり甘いです。
最後に、他のすべてが失敗した場合...
自動 Makefile ジェネレーターを試しましたか?
次のコンパイラをサポートしています。
ボーランド 3.1 ボーランド5.0 ボーランド 5.0、16 ビット ボーランド5.5 ボーランド5.6 ボーランド5.8 CC Gnu g++ Gnu g++、動的ライブラリ Linux 用 Intel 5、6、7 Linux 用 Intel 5、6、7、動的ライブラリ Windows 用インテル 5、6、7 Linux 用インテル 8、9、10 Linux 用 Intel 8、9、10、動的ライブラリ Windows 用インテル 8,9 Windows 用インテル 10 ビジュアル C++ 5 ビジュアル C++ 6、7、7.1 ビジュアル C++ 8 ワトコムを開く ワトコム10A ワトコム 10A、16 ビット
CMakeは、実際にVisual Studioプロジェクト(つまり、「Makefile」ではなく、外部ツールを呼び出すプロジェクト)を生成でき、ビルド入力ファイル(CMakeLists.txt)が変更されたときにプロジェクトを自動的に再作成できる唯一のツールです。
SConsのパフォーマンスの問題はよく知られており、SConsメーリングリストで徹底的に議論されているトピックです。
私はOMakeに投票します。GNU make で私が持っていたすべての不満を修正します。
- それは本格的な言語です。
- タイムスタンプの代わりに MD5 を使用します。
- すべてのプラットフォームで最も便利な UNIX コマンドを実装する最小限のシェルを提供します: find、sed、awk など...
- unix または dos スタイルのパス名で動作します。
- 広く文書化されています。
- 並列ビルドをサポートします。
- 速い。
以前にBakefileを使用して、ある程度の成功を収めました。それはかなり単純で、うまく機能しているようです。
(M | m)akefileの自動生成により、ここで何をしようとしているのか心配になります。
makeと入力すると、カバーの下で何が起こっているのか理解できますか?またはgmake?新しいコードの変更がビルドに組み込まれていないなど、問題が発生したときにそうしないと、何が起こったのかをうまく処理するのが困難になるためです。
makeを理解し始めるために、RobertMecklenbergによる「GNUMakeを使用したプロジェクトの管理」を読むことをお勧めします。初期の章では、makeがどのように機能するかについて説明します。makeが後向き連鎖であるという事実を聞いてもらうことは、あなたができる最大のことの1つです。
そうしないと、システムが機能しているように見える場合は、実用的なプログラマーの用語である「偶然の一致によるプログラミング」を使用することになります。(-:
ところで彼らのサイトで利用可能な素晴らしい記事!そして、私は彼らとは関わっていません。YMMV。やだやだ...
また、CMake を 2 番目に使用します。マルチプラットフォーム プロジェクトでかなり長い間使用してきましたが、非常に満足しています。
あなたがこの質問に興味を持っているかどうかはわかりません。私は、Ruby を使用して開発されたCodeMateと呼ばれる、同様の Makefile 自動生成プロジェクションに取り組んでいます。現時点では、大規模なアプリケーションとしては成熟していないかもしれませんが、より良いものにするために引き続き取り組んでいきます。ユーザーは、ソフトウェアをビルドするために構成ファイルを編集する必要はありません。または、少なくとも編集する必要があります。学習曲線は最小限に抑える必要があります。
make 置換のリストに最近追加されたのはwafです。個人的な経験から、SCONS は非常にうまく機能します。
考慮すべき問題の 1 つは、"makefile" クリエーターまたは代替ビルド システムのどちらが必要かということです。代替ビルド システムの問題は、通常、ユーザーがこれを期待しているプラットフォーム (Visual C++) に対して適切な IDE 統合が得られないことです。代わりのビルド システムではなくメイクファイル クリエーターが必要な場合は、MPCを参照してください。無料でオープンソースです。