2014-04-07 12 views
5

Ich versuche, die Boost_1_55_0-Bibliotheken zu verwenden, und ich finde immer wieder Hinweise auf Jamfiles.Was ist ein Jamfile?

Was sind Jamfiles?

Warum gibt es Dinge wie bjam und mehrere Versionen von Jamfiles?

+0

Siehe [Boost.Build] (http://www.boost.org/boost-build2/). – Mankarse

+9

Sehr häufiges Problem in C++, jeder kommt mit seinem eigenen Build-System. Es gibt niemanden, der sie alle beherrscht, also niemals eine Garantie für den Erfolg. Cross-Plattform-Versprechen sind schwach, wenn Sie nicht einmal das verdammte Ding bauen können. Boost tat das auch, ein Jamfile sagt, was von bjam gebaut werden muss. Geht sowieso immer schief :( –

+1

Ein noch größeres Problem als die Existenz von verschiedenen make-Systemen ist, dass das Kompilierungsmodell von C/C++ einfach scheiße ist und du deine cpp/header-Dateien dort ablegen kannst, wo du willst und Open-Source-Makefiles tendieren manchmal zum Überschreiben/ändern Sie bestehende Quellen.Nicht zu erwähnen, dass wir Header-Dateien haben (im 21. Jahrhundert !!!) wie wir Include-Dateien im Falle der Montage und in der Regel die Reihenfolge/Ort der Include-Verzeichnisse ist ein Chaos. Früher oder später alle Build Systeme werden zu Monstern, weil sie versuchen, die Kompilierung aller quelloffenen Monster-Quellbäume zu unterstützen, und das ist einfach unmöglich – pasztorpisti

Antwort

5

Jam ist ein Open-Source-System von Perforce.

Bjam ist eine Boost-Variante. Einer der Vorteile von Jam ist, dass es explizit als plattformunabhängiges Build-System konzipiert ist, im Gegensatz zu anderen Build-Systemen wie make.