2010-03-25 14 views
5

Quali sono le migliori pratiche per includere la libreria di puntatori smart boost solo senza aggiungere tutte le librerie di boost al progetto?Come includere solo i codici puntatori intelligenti BOOST in un progetto?

Voglio solo aumentare la libreria puntatore intelligente nel mio progetto e non voglio effettuare il check in/commit 200 MB codici sorgente (boost 1.42.0) nel mio repository di progetto solo per quello. Inoltre, il mio progetto Windows Mobile non raggiunge nemmeno il 10% di quella dimensione!

+1

Avete bisogno che Boost sia sotto il controllo del codice sorgente? – jalf

+0

Sono il primo della squadra ad usare la spinta e tutti non sono ancora così familiari con la spinta. Se commetto qualcosa che non viene compilato automaticamente (mancanza di dipendenze), ciò sarebbe problematico per loro. –

+1

Penso che di solito dovresti impostare la gente su Boost sulle loro scatole. Cioè, trattalo come la libreria standard. Quindi non c'è bisogno di impegnarsi, inoltre ora è sempre in giro. – GManNickG

risposta

16

Solo per la libreria di puntatori intelligente sono disponibili due opzioni.

  1. Copia le intestazioni che includi nei file di origine (shared_ptr.hpp, ecc.). Quindi copia i file aggiuntivi fino alla creazione del progetto (assicurati di mantenere la struttura della directory).
  2. Utilizzare l'utilità boost bcp. Per i sottoinsiemi più grandi, questo strumento consente di risparmiare un sacco di tempo.

Il primo farà in modo che il minor numero di file possibile venga aggiunto al progetto. Quest'ultimo è molto più veloce per qualsiasi sottoinsieme sostanziale di boost, ma probabilmente includerà molti file che non ti servono (intestazioni di compatibilità per piattaforme che il tuo programma non supporta).

+3

La prima volta che sento parlare di bcp. +1. – BenG

+1

bello. forse posso usare prima bcp, quindi ridurlo di nuovo manualmente. no 2, quindi no 1. –

2

Basta controllare la cartella contenente il codice che si desidera? Prova a eliminare/spostare/rinominare "tutto il resto" e vedere quali dipendenze esterne ha la libreria dei puntatori intelligenti, probabilmente non molte. Sono quasi sicuro che non richiede alcun codice costruito (ad es. Librerie), quindi controllare tutte le intestazioni che vengono incluse sembra la strada da percorrere.

+0

Fornisce sicuramente la quantità minima di file da includere. Ho iniziato aggiungendo 1 file, , e continuo ad aggiungere tutti i file di dipendenza uno per uno fino a quando non sono stati aggiunti 36 file (139 KB). Per confronto, bcp shared_ptr mi dà 152 file (481 KB). –

Problemi correlati