2014-04-07 14 views
5

Sto provando a utilizzare le librerie boost_1_55_0 e continuo a trovare riferimenti ai file jam.Che cos'è un file jam?

Cosa sono gli jamfiles?

Perché ci sono cose come bjam e versioni multiple di jamfiles?

+0

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

+9

Problema abbastanza comune in C++, tutti hanno un proprio sistema di compilazione. Non c'è nessuno a dominarli tutti così mai alcuna garanzia di successo. Le promesse cross-platform sono deboli quando non puoi nemmeno costruire quella dannata cosa. Così ha fatto anche Boost, un jamfile dice cosa deve essere costruito da bjam. Va sempre storto :( –

+1

Un problema ancora più grande dell'esistenza di vari sistemi di creazione è che il modello di compilazione di C/C++ fa semplicemente schifo e puoi mettere i tuoi file cpp/header dove vuoi e i makefile di opensource a volte tendono a sovrascrivere/modifica le fonti esistenti. Per non parlare del fatto che abbiamo file di intestazione (nel 21 ° secolo !!!) come se avessimo incluso i file in caso di assemblaggio e di solito l'ordine/posizione delle directory di inclusione è un disastro. i sistemi diventano mostri perché cercano di supportare la compilazione di tutti gli alberi opensource di mostri e questo è semplicemente impossibile. – pasztorpisti

risposta

5

Jam è un sistema di creazione open source creato da Perforce.

Bjam è una variante di aumento dell'inceppamento. Uno dei vantaggi dell'inceppamento è che è esplicitamente progettato per essere un sistema di costruzione indipendente dalla piattaforma, in contrasto con altri sistemi di costruzione come la marca.