2009-05-17 6 views
8

Ich bin ein Neuling Boost C++ - Bibliotheken. Ich habe mich gefragt, ob es Vorteile von Boost bjam gegenüber GNU gibt? Und was sind die Nachteile, wenn ich make zum Erstellen von C++ - Code mit Boost.Python-Bibliotheken verwenden?Boost bjam gegen GNU make

+3

Ich würde eigentlich empfehlen CMake über beide. – Zifre

+0

Also ich, GNU make ist ein Dinosaurier-Programm, das ein Schmerz ist, INHO zu verwenden. cmake hat eine einfache Syntax, gute Dokumentation, sogar eine GUI und unterstützt verschiedene IDEs wie VS oder Xcode. – Nils

Antwort

6

Für den Aufbau selbst, ist bjam der Weg zu gehen, bei weitem. Folgen Sie einfach der Readme und konstruieren Sie die Befehlszeile. Sie sollten (sollten) es nur einmal pro Boost-Release machen.

Aber es ist nicht nötig, Ihr eigenes Projekt, das Boost verwendet, an Boos Build-System zu binden.

Es gibt keine besonderen Nachteile für die Verwendung von gmake zum Erstellen von C++ - Code, der Boost.Python verwendet, und das Pro ist, dass es viele Beispiele für die Verwendung von Gmake gibt.

2

Wenn Sie andere Boost-Bibliotheken verwenden möchten, kann die Verwendung von bjam sinnvoll sein, aber aus einem einfachen Blickwinkel ist es sehr kompliziert, mit einem komplexen Projekt zu arbeiten, weshalb ant beispielsweise war entwickelt.

Bjam erweitert andere Projekte, die damit begannen, make zu ersetzen.

Aber auf der anderen Seite, make ist auf jedem Unix-Betriebssystem gefunden, bjam ist nicht, aber, wenn Sie Boost-Bibliotheken für Ihr Projekt verwenden müssen, dann können Sie sicherstellen, dass es enthalten ist.

Für Ihr Projekt denke ich, dass bjam die beste Option sein könnte, aber wenn Sie ein tragbares Projekt schreiben, das andere mit ANSI C++ kompilieren müssten, würde ich auch GNU Make unterstützen.

0

Ich habe Team-Shared-Build-Frameworks mit Make und BJam erstellt. Meine letzte Meinung war, dass die bjam-Implementierung einfacher zu warten war, nachdem ich die grundlegende Einrichtung gelernt hatte. Teammitglieder sind anfangs vielleicht resistent, aber sobald sie es benutzen und sehen, dass es viel einfacher ist als Make (meiner Meinung nach), werden sie gewonnen. Einige werden weiterhin widerstehen. Sie können Dual-Build-Systeme einrichten, aber das ist ein zusätzlicher Aufwand.

Wenn ich gezwungen bin, Make zu verwenden, erstelle ich nicht-rekursive Makefile-Lösungen mit zentralen Regelsätzen. BJam hat all das eingebaut.