2010-03-25 5 views
5

¿Cuáles son las mejores prácticas para incluir aumentar la biblioteca de puntero inteligente solo sin agregar todas las bibliotecas de impulso en el proyecto?¿Cómo incluir solo los códigos de puntero inteligente BOOST en un proyecto?

Solo quiero aumentar la biblioteca del puntero inteligente en mi proyecto y no quiero registrar/comprometer 200 MB códigos fuente (impulso 1.42.0) en el repositorio de mi proyecto solo por eso. ¡Qué más, mi proyecto móvil de Windows ni siquiera alcanza el 10% de ese tamaño!

+1

¿Necesita que Boost esté bajo control de fuente? – jalf

+0

Soy el primero en el equipo en usar el impulso y todos aún no están familiarizados con el impulso. Si dedico algo que no compila de la caja (falta de dependencias), eso sería problemático para ellos. –

+1

Creo que generalmente, tendrías personas configurando Boost en sus cajas. Es decir, trátelo como la biblioteca estándar. Entonces no hay necesidad de comprometerse, y ahora siempre está disponible. – GManNickG

Respuesta

16

Para solo la biblioteca del puntero inteligente, tiene dos opciones.

  1. Copie los encabezados que incluye en sus archivos de origen (shared_ptr.hpp, etc.). Luego, copie los archivos adicionales hasta que el proyecto se genere (asegúrese de mantener la estructura del directorio).
  2. Utilice el impulso bcp utilidad. Para subconjuntos más grandes, esta herramienta ahorra una tonelada de tiempo.

El primero se asegurará de que se agregue su proyecto a la menor cantidad posible de archivos. Este último es mucho más rápido para cualquier subconjunto sustancial de impulso, pero probablemente incluirá muchos archivos que no necesita (encabezados de compatibilidad para plataformas que su programa no admite).

+3

La primera vez que escuché sobre bcp. +1. – BenG

+1

agradable. quizás puedo usar bcp primero, luego reducirlo de nuevo manualmente. no 2, luego no 1. –

2

Sólo echa en la carpeta que contiene el código que desea? Intente eliminar/mover/renombrar "todo lo demás" y ver qué dependencias externas tiene la biblioteca del puntero inteligente, probablemente no muchas. Estoy casi seguro de que no requiere ningún código incorporado (es decir, librerías), por lo que simplemente verificando todos los encabezados que se incluyen parece ser el camino a seguir.

+0

Ciertamente da la cantidad mínima de archivos que se incluirán. Comencé agregando 1 archivo, , y sigo agregando todos los archivos de dependencia uno por uno hasta que se agregaron 36 archivos (139 KB). Para comparar, bcp shared_ptr me da 152 archivos (481 KB). –

Cuestiones relacionadas