2011-10-07 8 views
7

Ho giocato con alcuni componenti Boost e l'unico a cui vedo un'esigenza diretta nel progetto a cui sto lavorando è boost::shared_ptr.Come posso prelevare un singolo elemento da una libreria boost (ad esempio shared_pointer)?

Sarebbe difficile includere solo i file richiesti per shared_ptr o almeno solo includere file per la directory Boost smart_ptr nel mio progetto? Sembrano avere alcune dipendenze esterne su altre parti di Boost - ma immagino ci sia un modo semplice per usare solo alcuni componenti della libreria Boost e mi manca.

Se mi puoi dire quali parti ho bisogno o indicarmi un buon tutorial sarei molto grato!

+0

E 'un po' poco chiaro: vuoi copiare parti di spinta per il vostro progetto? Perché? – UncleBens

+3

@UncleBens: Perché Boost è una cosa gigantesca e a molte persone non piace scaricare cose giganti. –

risposta

10

È possibile utilizzare lo strumento bcp per estrarre solo l'intestazione desiderata.

bcp shared_ptr /foo 

Ciò copia shared_ptr e tutte le dipendenze nella directory foo

+0

Neat, non mi aspettavo che fosse così facile :) Grazie amico. –

-3

È possibile includere solo le intestazioni shared_ptr di spinta come questo

#include <boost/shared_ptr.hpp> 

un'occhiata a un esempio di base here o per ulteriori esempi here

è possibile includere quasi ogni parte del lib spinta in questo modo e non ha praticamente altre dipendenze (solo per alcune librerie più complesse)

+0

Bene, la pagina bcp dice che troverà 274 dipendenze dell'header per 'boost/shared_ptr.hpp' - la maggior parte non necessaria per un compilatore con una configurazione. Non penso sia così facile estrarre le librerie da boost (sembra che OP voglia mantenere shared_ptr e buttare via il resto). – UncleBens

+0

@UncleBens Sì, questo è quello che preferivo di fare, ma apprezzo il suggerimento! :) –

+0

Stai fraintendendo la domanda, che non è "Come uso #include sui file boost", ma "Come faccio a determinare quali file boost devo distribuire per #include per funzionare? " –

Problemi correlati