2011-10-07 6 views
7

He estado jugando con algunos componentes de Boost, y el único que veo una necesidad directa en el proyecto en el que estoy trabajando es boost::shared_ptr.¿Cómo puedo eliminar un elemento de una biblioteca de impulso (por ejemplo, shared_pointer)?

¿Sería difícil simplemente incluir los archivos necesarios para shared_ptr, o al menos simplemente incluir archivos para el directorio de Boost smart_ptr en mi proyecto? Parecen tener algunas dependencias externas en otras partes de Boost, pero creo que hay una manera fácil de usar ciertos componentes de la biblioteca de Boost y me falta.

Si me puede decir qué partes necesito o si me indica un buen tutorial, ¡le estaría muy agradecido!

+0

Es un poco claro: qué quiere copiar partes de impulso para su proyecto? ¿Por qué? – UncleBens

+3

@UncleBens: Porque Boost es algo gigante y a mucha gente no le gusta descargar cosas gigantes. –

Respuesta

10

Puede usar la herramienta bcp para extraer solo el encabezado que desee.

bcp shared_ptr /foo 

Esto copia shared_ptr y todas las dependencias en el directorio foo

+0

Limpio, no esperaba que fuera tan fácil :) Gracias hombre. –

-3

Sólo se pueden incluir las cabeceras shared_ptr de impulso como esta mirada

#include <boost/shared_ptr.hpp> 

a un ejemplo básico here o para más ejemplos here

puede incluir casi todas las partes de la lib impulso de esta manera y casi no tiene más dependencias (solo para algunas librerías más complejas)

+0

Bueno, la página bcp dice que encontraría 274 dependencias de encabezado para 'boost/shared_ptr.hpp' - la mayoría no es necesaria para un compilador con una configuración. No creo que sea tan fácil extraer bibliotecas de boost (parece que OP quiere mantener shared_ptr y descartar el resto). – UncleBens

+0

@UncleBens Sí, eso es lo que prefería hacer, aunque agradezco la sugerencia. :) –

+0

Está malinterpretando la pregunta, que no es "¿Cómo uso #include en los archivos de impulso?" Sino "¿Cómo puedo determinar qué archivos de refuerzo necesito para #include para trabajar? " –

Cuestiones relacionadas