7

優れた開発者として、プラットフォーム間の移植を支援するために、コードを可能な限り標準に準拠させます。しかし、複数のプラットフォーム間で統一された方法でコードを構築するのに役立つツールは何ですか?

*nix ファミリにはありますmakeが、Windows が必要nmakeです。

SConsについて読んだことはありますが、怒りで使用したことはありません。お気に入りのビルド ツールは何ですか。なぜそれが効果的だと思いますか。制限はありますか (つまり、サポートが不十分なプラットフォームなど)。

クロスプラットフォーム IDE も同様です。

4

8 に答える 8

4

私は個人的にant、rake、およびmaven2を使用しています。私は ant を最も多く使用しており、いくつかの理由で素晴らしいと思います。

  • Java であるため、多くのプラットフォームで動作します (スクリプトを変更する必要はありません)。

  • ビルド ファイルは XML で記述されており、かなり簡単に記述できます。

  • 利用可能なサードパーティの拡張機能がたくさんあり、プラグインを簡単に作成できます

于 2008-10-07T08:34:10.410 に答える
4

c/c++ 環境用の cmake が適しています。http://www.cmake.org/

于 2008-10-07T08:39:14.737 に答える
2

私たちは極端なクロス開発を行っており、コードは Linux、Windows ce、Windows 2K、nucleus、uCOS-II で実行されます。環境ごとに異なる「作成」方法が使用されているためです (たとえば、ニュークリアスの顧客は、code-warrior GUI を介してコンパイルする必要があります)。

私は ANT と perl を組み合わせて約 2 年間使用しましたが、これによりビルド スクリプトが完全に保守不能になりました。

今では、スクリプトの保守性を向上させる Python を使用するようになりました。

要するに、既製のツールが見つからず、自分で作成する必要がありました。たぶん、時間があれば(2017年?)スクリプトをまとめて配布します....

于 2008-10-08T13:11:00.913 に答える
0

Windowsでもcygwin/minGWを使用してgmakeを使用するか、LinuxでWindowsのものを構築できます。 http://cdtdoug.blogspot.com/2009/05/mingw-cross-for-linux.html

于 2009-05-19T08:06:26.397 に答える
0

過去 18 か月間、Linux、Windows、および Mac 用の Java 環境を実行してきました。

  • Maven 2 がビルドを駆動します。ここで一貫性を保つのは非常に簡単です。M2 プラグインが踏まないところでは、小さな Ant スクリプトを使用します。
  • IDEに関しては、EclipseとIDEAを使用しています-もちろん、両方ともマルチプラットフォームです。
  • テスト - JUnit、Fitnesse、Fest - すべてうまくマルチプラットフォーム。
  • リリース スクリプトは Ruby で記述されています。ここで Windows にはもう少し問題がありますが、必要に応じてパスを変換する機能が一般的にうまくいきます。
  • TeamCity は CI を行います。実際にこれを Windows から Linux に移行しましたが、エラーはまったく発生せず、非常に優れたパッケージです。

私たちはしばらく GWT を使用していましたが、これは私たちに多大な苦痛をもたらしました。その方向にスイングする場合は注意してください。

于 2009-05-19T08:36:00.080 に答える
0

C/C++ 開発では、bakefileがうまく機能することがわかりました。クロスプラットフォーム クロスプラットフォーム ユーティリティおよび UI ライブラリであるかなり大規模なwxWidgetsプロジェクトは、ビルド ファイルの生成に使用します。

Bakefile は、クロスプラットフォーム、クロスコンパイラのネイティブ makefile ジェネレーターです。ビルド タスクのコンパイラに依存しない記述を入力として受け取り、ネイティブの makefile (autoconf の Makefile.in、Visual C++ プロジェクト、bcc makefile など) を生成します。

Bakefile のタスクは、ネイティブの makefile を生成して、人々がお気に入りのツールを使い続けることができるようにすることです。他にもクロスプラットフォームの make ソリューションがありますが、それらはネイティブではなく、ユーザーが慣れていないツールを使用する必要がある (Boost.Build) か、制限が多すぎる (qmake) かのいずれかです。

于 2008-11-05T18:21:40.047 に答える
0

Java の世界では、クロスプラットフォームのツールがかなりあります。Apache Ant と Maven はどちらもビルド ツールであり、Java が利用可能な任意のプラットフォームで実行されます。

Cruise Control (継続的インテグレーション ツール) は、Windows と Linux でも動作します (Java で書かれています)。

コア ツールで実際に問題が発生したことはありません。時々発生した唯一の問題は、ビルド プロセス以外のもの、つまりアーティファクトのパブリッシュに起因するものでした。これはシステムによって異なるため、単一の方法はないことがわかりました。それを設定します。

于 2008-10-07T08:36:23.150 に答える