c++ - Versión de 64 bits de Boost para ventanas de 64 bits
boost download (5)
¿Hay una versión de la biblioteca Boost de 64 bits para VS2008? ¿O tengo que compilar uno yo mismo? si, entonces, ¿alguien tiene experiencia con eso?
ACTUALIZACIÓN (19.09.2017): líneas de script añadidas para VS2017. Tenga en cuenta que Boost es compatible con el compilador VS2017 de una cierta versión anterior. Usé la última versión (1.65.1).
Utilicé estos scripts para aumentar las plataformas x64 y x86, lib y dll, depurar y lanzar para VS2017, VS2015 y VS2013:
md stage/VS2017/x64
md stage/VS2015/x64
md stage/VS2013/x64
b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release
md stage/VS2017/win32
md stage/VS2015/win32
md stage/VS2013/win32
b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release
pause
Puede hacer un archivo .bat
y ejecutarlo para construir sus binarios de refuerzo.
Como una respuesta corta:
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete
Como respuesta más larga, aquí están mis notas de compilación para tener librerías VS .NET 2008 de 32 bits y de refuerzo de 64 bits en la misma jerarquía (que sospecho que es un caso de uso común):
Construye los binarios win32
bjam --toolset=msvc-9.0 --build-type=complete stage
Crea el directorio lib / win32
- Mueva los contenidos de stage / lib a lib / win32
- Elimina los directorios bin.v2 y stage
Construye los binarios x64
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
Crea el directorio lib / x64
- Mueva el contenido de stage / lib a lib / x64
- Elimina los directorios bin.v2 y stage
En este momento, los binarios de 64 bits proporcionados por teeks99 (ver otra respuesta) parecen ser los únicos binarios gratuitos de 64 bits. Por un tiempo, BoostPro también proporcionó binarios de 64 bits, pero a partir de 1.51 parecen estar fuera o por negocios.
Entonces, de nuevo volvemos a dos opciones: los binarios de teeks99, o construyendo el suyo propio.
La mayor parte de la información que necesitaba para construir la mía estaba aquí: https://.com/a/2655683/613288
Lo único que faltaba era cómo hacer que esto funcione con la versión gratuita de Visual Studio 2010 Express. Encontré esa pieza faltante en otro lado, y después de una personalización, la receta final que utilicé para mi compilación de los impulsores 1.49.0 fue:
Inicie Visual C ++, y desde el menú Herramientas, inicie el símbolo del sistema de Visual Studio.
En la ventana de la consola, haz lo siguiente:
"C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/setenv.cmd" /Release /x64
y luego en el directorio de impulso:
bootstrap.bat
b2 -a -sBZIP2_SOURCE="C:/bzip2-1.0.6" -sZLIB_SOURCE="C:/zlib-1.2.5" --toolset=msvc-10.0 architecture=x86 address-model=64 link=static --with-date_time --with-filesystem --with-serialization --with-test --with-thread --with-system --with-regex --with-iostreams stage
El último comando está personalizado para lo que sucedió que necesitaba (solo algunas bibliotecas vinculadas estáticamente).
Me hice un pequeño script que compila todos para VS2005 y VS2008:
md stage/lib/win32
md stage/lib/x64
REM Visual Studio 2005
bjam --toolset=msvc-8.0 --build-type=complete stage
move /Y stage/lib/* stage/lib/win32/
bjam --toolset=msvc-8.0 address-model=64 --build-type=complete stage
move /Y stage/lib/* stage/lib/x64/
REM Visual Studio 2008
bjam --toolset=msvc-9.0 --build-type=complete stage
move /Y stage/lib/* stage/lib/win32/
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
move /Y stage/lib/* stage/lib/x64/
Tengo los binarios construidos en mi sitio: http://boost.teeks99.com
Editar 2013-05-13: Mis compilaciones ahora están disponibles (comenzando desde 1.53) directamente desde la página de sourceforge .