2009-08-02 12 views
3

Ich entwickle unter Windows, und mit Eclipse mit CDT C++ - Anwendungen zu entwickeln.Build-Management: Eclipse-Projekt vs Eclipse Managed Make-Projekt

Nun, für Build-Management kann ich ein normales C++ Projekt erstellen und Eclipse wird die Build (Aufruf der g ++ Compiler mit der richtigen Argumente) vollständig verwalten, oder ich kann einen Managed Make C++ Projekt und Eclipse erstellen verwalten Das Makefile ruft dann make auf diesem Makefile auf (wenn das Projekt erstellt wird), was wiederum den Build-Prozess vervollständigt.

Gibt es einen Vorteil, einen dieser Ansätze zu verwenden und nicht den anderen?

EDIT: Ich spreche nicht über Managed Make vs Standard Make, sondern ich spreche über Make vs Eclipse. Gestern habe ich versucht, ein C++ - Projekt unter Eclipse auf einem System zu kompilieren, das Make überhaupt nicht enthält, und das Projekt kompiliert, was bedeutet, dass Eclipse den Build vollständig selbst verwalten kann, was die ursprüngliche Frage in den Fokus rückt brauche Make ?; Ich kann Eclipse alleine benutzen.

Das ist meine Frage ...

Antwort

9

Eine Überlegung ist, möchten Sie benötigen, dass Entwickler, die mit Ihrem Projekt arbeiten müssen Eclipse installieren und verwenden? Es handelt sich nicht um ein Werturteil über Eclipse, sondern um eine Annahme hinsichtlich Ihres Publikums und wie vertraut es mit Ihrem gewählten Tool ist. Wenn ein C++ - Programmierer mit Java/Eclipse vertraut ist, ist das möglicherweise kein Problem. Wenn sie mit Eclipse nicht vertraut sind, werden sie Eclipse als Hindernis für ihre Arbeit betrachten.

Sie müssen Ihre Anweisungen beachten, um eine Build-Umgebung von Grund auf neu zu erstellen UND aktualisieren Sie sie. Du kennst Entwickler, es wird einige C++ - Diebe geben, die deine Entscheidung verfluchen und darüber schwadronieren, wie du es mit Make gemacht haben solltest, anstatt sie dazu zu bringen, eine ganz neue Plattform zu installieren, nur um einen Build zu machen.

6

Ich bin mir nicht sicher, ob Sie diese Option in dem C++ Projekt haben würden, aber mit dem Managed Make C++ Projekt Sie die Make-Datei zu nennen wären in die Lage direkt aus einer Befehlszeilenumgebung (vorausgesetzt, Sie haben die make-ausführbare Datei Ihrem Pfad zugeordnet). Ich würde dies als einen echten Vorteil betrachten - insbesondere wenn es um automatisierte Build-Skripte und Benutzer geht, die mehr CLI-zentriert sind.

Auch - vergessen Sie nicht, dass das Schreiben eines eigenen Makefiles eine Option mit dem CDT ist. Wenn Sie spezielle Anforderungen haben, können Sie Ihre eigenen Make- und Linker-Dateien schreiben und Eclipse wird seine Build-Ziele an dieses Makefile binden.

+0

Ich habe versucht, ein C++ Projekt erstellt und festgestellt, dass Eclipse Dateiabhängigkeit verwaltet und es baut sich nur Dateien, die geändert wurden, seit dem letzten Mal. Fazit: Eclipse kann den Build auf eigene Faust verwalten ... – Lawand

+0

Markiert für die Erwähnung automatisierter Skripte (oder Dinge wie Hudson). Ich möchte verschiedene # define Werte für Eclipse vs cLI - irgendeine Idee wie? (Und wie kann man sein eigenes Makefile in Eclipse schreiben?) – Mawg

0

IMO, hängt von Ihrer Projektpopularität ab.
Normalerweise, gibt es keine Probleme mit dem Erstellen von Projekten praktisch auf jeder Plattform (in Windows können Sie cygwin/Mingw obwohl). Mehr noch, wenn jemand Ihr Eclipse-Projekt kompilieren muss und Eclipse nicht verwendet wird, wird er Ihnen die Schuld geben.
Also, wenn Ihr Projekt nicht für die Masse gedacht ist (oder Sie sich wirklich nicht darum kümmern), verwenden Sie, was immer Sie bevorzugen. Aber wenn die Quellen von anderen Personen kompiliert werden, könnte es eine gute Idee sein, zu Make zu wechseln.

0

Es hängt viel von der Größe Ihres Teams und Ihres Projekts ab. Make ist viel schwieriger einzurichten, kann aber auf Multi-Maschinen-Builds und große Teams unabhängig von Eclipse skaliert werden. Außerdem haben Sie mit Make mehr Kontrolle über den Aufbau Ihres Projekts (wenn Sie sich mit den Details von Makefiles beschäftigen) und es kann in Continuous Integration-Systeme aufgenommen werden. Und Ihre make-Dateien können plattformunabhängig gemacht werden (wenn dies für Sie relevant ist).

Wenn Sie mit Eclipse erstellen, läuft alles auf Ihre Projektdatei hinaus. Wenn mehrere Personen Änderungen an Ihrer Projektstruktur vornehmen müssen (z.Hinzufügen/Ändern von Komponenten) kann es schwierig sein, Konfigurations-Management, während Sie Ordnung Make-Dateien verwenden werden.

Auf der anderen Seite: Wenn es eine Ein-oder Zwei-Personen-Entwicklung ist, ist Eclipse CDT wahrscheinlich Ihre schnelle Spur, wie Sie die zeitaufwändige Make-Datei-Setup überspringen können.

2

Wenn Sie beabsichtigen, die Make-Datei sehr hilfreich sein könnte

irgendwann einen kontinuierlichen Build/Integrationssystem verwenden