c++ - library - Building Boost BCP
boost windows binary (4)
Intenté construir Bibliotecas Boost C ++ durante las últimas dos horas y me detuve sin ningún resultado. Como soy nuevo en C ++, no puedo obtener la compilación correcta. ¿Cómo puedo construirlo correctamente usando Visual Studio 2008?
Necesito usar la herramienta BCP para extraer un subconjunto de la biblioteca. Entonces necesito construir BCP primero, ¿verdad? ¿Como hacer esto? Cuando traté de compilarlo, recibí el siguiente error
error fatal LNK1104: no se puede abrir el archivo ''libboost_filesystem-vc90-mt-gd-1_37.lib''.
¿Dónde puedo obtener el archivo de biblioteca dado anteriormente?
Extraje la fuente: https://github.com/district10/cmake-bcp (No es necesario configurar BOOST, ya que todo el código fuente ya está incluido).
En Linux, cmake
+ make
to build:
# cd source_dir
mkdir build && cd build
cmake ..
make
En Windows: CMake-GUI + Visual Studio para compilar. ¿Necesitas ayuda? Vea HOWTO: Win + CMake + Visual Studio 2010 .
Mis ejecutables:
- Windows: http://whudoc.qiniudn.com/2016/bcp_standalone.exe (561 KB)
- Linux: http://whudoc.qiniudn.com/2016/bcp_standalone_linux (917 KB)
- macOS: https://github.com/district10/cmake-bcp/releases/download/1.0/macOS_bcp (801 KB)
Consejo: Si encuentra problemas de vinculación en Windows al usar Boost, vaya a boost/config/auto_link.hpp
y lo entenderá. Para resolver esto, puede comentar todo el archivo.
La versión actual de Boost (1.50.0) usa Boost.Build. El nuevo flujo de trabajo para construir bcp es el siguiente:
desde el directorio raíz de Boost, escriba:
bootstrap.bat
Luego, una vez que se haya construido Boost.Build, escriba:
b2 tools/bcp
Tenga en cuenta que no necesita construir sus versiones de Windows de bcp desde el origen; también puede descargar una versión binaria de http://www.boostpro.com/download , y omitir todos esos pasos.
(O, al menos, ese es el caso en teoría, no lo he intentado, simplemente encontré esa página y esta mientras buscaba una versión de Linux pre construida).
En primer lugar, debe tener las variables de entorno PATH, INCLUDE y LIB adecuadas en su shell de comandos. Para esto, llame al archivo " vcvarsall.bat
" (o similar) con el parámetro:
vcvarsall.bat x86
Luego tienes que compilar bjam (también puedes descargarlo desde la página de Boost, pero es casi igual de rápido). Vaya a la carpeta tools/jam/src
en Boost y escriba:
build.bat
Debería producir una subcarpeta bin.ntx86
que contenga bjam.exe. Para su comodidad, cópielo en la carpeta principal de Boost. Luego, puedes construir bcp. Vaya a la carpeta tools/bcp
y escriba:
../../bjam.exe --toolset=msvc
De vuelta en la carpeta principal de Boost puedes construir cualquier biblioteca que desees:
bjam toolset=msvc –-with-{library}
donde {library}
es una de las bibliotecas para construir. Todas las bibliotecas edificables se pueden mostrar con:
bjam –-show-libraries
Hay muchos más parámetros de compilación bjam. Algunos parámetros con palabras clave que puede especificar son:
variant=debug|release
link=shared|static
threading=multi|single
Un ejemplo sería:
bjam toolset=msvc –-with-filesystem threading=multi variant=debug stage
Para obtener más información, visite las páginas de documentación de Boost .
Editar: Enlace actualizado para apuntar a la documentación más reciente de Boost
Editar: opciones corregidas --with- {library} y --show-libraries