2010-01-12 11 views
11

Aquí hay una pregunta que puede haber visto alrededor de las 'redes en varias formas ... resumida aquí para complacer a Google :-)¿Cómo obtener las bibliotecas de Boost binarias que funcionan con Visual Studio?

Tengo un proyecto que está construido con Visual Studio de Microsoft y usa la funcionalidad de boost (http://www.boost.org/). Ya tengo mi proyecto trabajando con algunas de las bibliotecas que son solo encabezado (no se necesita una biblioteca binaria para enlazar). ¿Cómo o dónde puedo obtener los archivos binarios de Windows para las otras bibliotecas?

+5

vea el documento de inicio en boost.org: http://www.boost.org/doc/libs/1_41_0/more/getting_started/windows.html –

Respuesta

19

Hay tres opciones diferentes para acceder a las bibliotecas binarias:

1) construirlas desde la fuente.
Ir al directorio de impulso y ejecute:

bootstrap 
    .\bjam 

u obtener más complicar y hacer algo como:

bjam --stagedir="c:\Program Files\Boost" --build-type=complete --toolset=msvc-9.0 --with-regex --with-date_time --with-thread --with-signals --with-system --with-filesystem --with-program_options stage 

2) Usar el instalador BoostPro (http://www.boostpro.com/download) para obtener las bibliotecas específicas que se necesitar.
Esto es muy bueno porque solo descarga e instala los archivos que usted dice que quiere. Sin embargo, nunca tiene la versión más actual disponible y no hay binarios de 64 bits.

3) descargar todo el conjunto de bibliotecas (http://boost.teeks99.com)
fácil de usar, fácil de hacer, pero las bibliotecas son enormes (7 GB abrió la cremallera!).
Editar 2013-05-13: Mis versiones ahora están disponibles (a partir de 1.53) directamente desde sourceforge page.

+3

¿Por qué hace una pregunta y luego proporciona una respuesta de 3 puntos a su propia pregunta 5 minutos después? ¿Eres simplemente un representante de la agricultura al hacer preguntas simples y luego responderlas tú mismo? – Roel

+6

He visto a muchas personas hacer esta pregunta en diferentes formas, a veces sin saber cómo preguntar. Solo quería sacarlo de una manera clara para que cualquiera pudiera encontrarlo. – teeks99

+2

No veo nada malo con lo que estás haciendo. Aunque tal vez deberías decir explícitamente que se trata de una amalgama de otras preguntas para que las personas puedan decidir por sí mismas si quieren votar para tu esfuerzo de edición. –

1

Constrúyalos usted mismo. Descargar un archivo ejecutable desde el sitio web bjam impulso, a continuación, ejecute el siguiente comando desde el directorio raíz del impulso src:

bjam --toolset = msvc --build-type = completa definir _BIND_TO_CURRENT_MFC_VERSION = = = 1 definir _BIND_TO_CURRENT_CRT_VERSION = 1 etapa

Luego, ve a tomar un café o déjalo funcionando toda la noche. Después de eso obtienes resultados en la carpeta 'etapa'. Agregue este directorio a sus 'archivos de biblioteca' en opciones-> proyectos y soluciones-> directorios de VC++.

+0

Para aclarar, _BIND_TO_CURRENT_MFC_VERSION es para evitar problemas cuando se implementa más tarde; ver mis respuestas a otra pregunta en http://stackoverflow.com/questions/59635/app-does-not-run-with-vs-2008-sp1-dlls-previous-version-works-with-rtm-versions/70808 # 70808. – Roel

1

Yo solía preferir usar BoostPro para instalar las bibliotecas de Boost que necesitaban una compilación por separado, como Boost.Regex, pero lamentablemente esto ya no parece ser compatible.

Vaya a la página Boost Getting Started for Windows, le dice prácticamente todo lo que necesita saber en section 5.2.1. Aquí hay un simple guide (con capturas de pantalla) que le muestra cómo comenzar.

En resumen, desde la línea de comandos que necesita para ejecutar los siguientes comandos:

> boostrap.bat 
> .\b2 

Ejecución del comando \ b2 puede tomar bastante tiempo..

Y luego en las propiedades de proyecto de Visual Studio, tendrá que:

  1. Seleccione el/C++> pestaña General C y sistema incluye Adicional campo Directorios
  2. Seleccione el Enlazador> pestaña General y establecer el campo Directorios de biblioteca adicionales.

Para el paso 2, suele ser el directorio stage \ lib de su directorio raíz de Boost.

3

Conda-forja (automatizado multiplataforma herramienta de la nube de construcción y gestor de paquetes) proporciona binarios para todas las plataformas:

https://anaconda.org/conda-forge/boost

ahora puede obtener Boost binarios de:

http://sourceforge.net/projects/boost/files/boost-binaries/

Sin embargo, no especifican si se trata de una versión de versión o de depuración.

+2

Esos son los mismos que en http://boost.teeks99.com (me he convertido en el desarrollador binario oficial). Contienen versiones de depuración y liberación. – teeks99

0

1) vaya a impulsar el directorio

2) ejecutar arranque - Nota: bjam no parece funcionar en este punto, pero tal vez hice algo mal

3) run \ b2 esto. debería configurar el boost predeterminado a lo que detecta como su conjunto de herramientas de Windows primario, o quizás el más reciente, así que para mí es msvc11.0

y luego espere un momento, y listo!

como lo anterior dice, solo incluya los directorios de las librerías de impulso (D: \ boost_1_5x_x \ stage \ lib) e incluye las que usa en los respectivos campos de Directorios Adicionales. No necesita hacer esto necesariamente desde "C/C++" o "Enlazador". hay un encabezado VC++ que tiene todos los campos relevantes allí. También puede, si está utilizando regularmente impulso, incluirlos en la lista de directorios heredados

** editar: solo me acabo de dar cuenta de que la publicación anterior describe esto. Lo sentimos mucho.

Cuestiones relacionadas