Estoy usando Windows 7 de 64 bits y quiero compilar las bibliotecas no precompiladas (específicamente, necesito el Sistema de archivos) desde la línea de comandos (no utilizo MSVC). Tengo MinGW, pero leí en el sitio web de Boost que el shell MSYS no es compatible, por lo que estoy tratando de compilar las bibliotecas desde el símbolo del sistema de Windows.No se pueden construir bibliotecas de Boost con GCC
En primer lugar, corriendo bootstrap.bat resultados en el siguiente error:
Building Boost.Jam build engine
'cl' is not recognized as an internal or external command,
operable program or batch file.
Failed to build Boost.Jam build engine.
Please consult bjam.log for furter diagnostics.
You can try to obtain a prebuilt binary from
http://sf.net/project/showfiles.php?group_id=7586&package_id=72941
Also, you can file an issue at http://svn.boost.org
Please attach bjam.log in that case.
Además, no es bjam.log archivo en cualquier lugar en el directorio boost_root.
Sin tener en cuenta este error, y tratando de ejecutar el archivo descargado bjam.exe, me sale otro error:
c:/boost_1_45_0/tools/build/v2/build\configure.jam:145: in builds-raw
*** argument error
* rule UPDATE_NOW (targets * : log ? : ignore-minus-n ?)
* called with: (<pbin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\address-model64\architecture-x86>has_icu.exe : : ignore-minus-n : ignore-minus-q)
* extra argument ignore-minus-q
(builtin):see definition of rule 'UPDATE_NOW' being called
c:/boost_1_45_0/tools/build/v2/build\configure.jam:179: in configu
re.builds
c:/boost_1_45_0/tools/build/v2/build\configure.jam:216: in object(
check-target-builds-worker)@409.check
etc, con un buen montón de quejas. Establecer las opciones de 'arquitectura' y 'modelo de dirección' no ayuda.
¿Alguna sugerencia?
@Andre
Siguiendo la sugerencia de Andre, he creado Mingw-bjam que se estaba ejecutando durante una hora y media y construyó la mayor parte de las bibliotecas, pero no el que necesito en este momento: Sistema de archivos. Intentando compilar solo el Sistema de archivos, especificar la versión 2 con define="BOOST_FILESYSTEM_VERSION=2"
y --disable-filesystem3
no ayuda. Me sale el siguiente error:
gcc.compile.c++ bin.v2\libs\filesystem\build\gcc-mingw-4.5.2\debug\v3\src\operations.o
In file included from ./boost/filesystem/v3/operations.hpp:24:0,
from libs\filesystem\v3\src\operations.cpp:48:
./boost/filesystem/v3/config.hpp:16:5: error: #error Compiling Filesystem version 3
file with BOOST_FILESYSTEM_VERSION defined != 3
libs\filesystem\v3\src\operations.cpp:647:26: warning:
'<unnamed>::create_symbolic_link_api' defined but not used
"g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_LIB=1 -
DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_FILESYSTEM_VERSION=2 -DBOOST_SYSTEM_DYN_LINK=1 -
I"." -c -o "bin.v2\libs\filesystem\build\gcc-mingw-4.5.2\debug\v3\src\operations.o"
"libs\filesystem\v3\src\operations.cpp"
etc, con una gran cantidad de ...failed
declaraciones.
¿Algún consejo aquí?
Hola Andre, muchas gracias. Eso lo hizo, aunque bjam.exe no funcionó con los indicadores específicos de 64 bits. ! – vkotor
Acabo de usar MinGW64 para cosas específicas de 64 bits. Bjam trabajó con la última versión. –
Ahora (impulso v1.63) el directorio es \ tools \ build \ src \ engine. El comando es build.bat gcc. bjam.exe y b2.exe están en \ tools \ build \ src \ engine \ bin.ntx86 – ravenspoint