¿Cómo fuerzo una compilación de 32 bits de Boost con GCC? Actualmente intento por poner esta línea en mi user-config.jam
, pero no funciona:¿Cómo fuerzo una compilación de 32 bits de Boost con GCC?
using gcc : 4.1.2 : g++ : compileflags="-m32" ;
¿Cómo fuerzo una compilación de 32 bits de Boost con GCC? Actualmente intento por poner esta línea en mi user-config.jam
, pero no funciona:¿Cómo fuerzo una compilación de 32 bits de Boost con GCC?
using gcc : 4.1.2 : g++ : compileflags="-m32" ;
Si está utilizando C++ Boost 1.40, utilice:
bjam address-model=32
Si está utilizando la versión eariler, considere actualizar. Si no puede, utilizar
bjam address-model=32 architecture=x86
también recomiendo que eche un vistazo a la fine manual
Oh, sí ... ese "buen manual" es genial. Me encantan todos los ejemplos que proporcionan. (Sarcasmo) –
Los parches son bienvenidos. Sin embargo, no estoy exactamente seguro de que agregar explícitamente un comando completo como ejemplo para cada propiedad enumerada en la URL anterior sea mucho más que engrosar el tamaño de los documentos. –
Tenga en cuenta que si tiene una versión de 64 bits de 'gcc', debería echarle un vistazo a la respuesta de @AndrewMeadows. – ereOn
Esta respuesta me ayudó hacia una solución que funcionó para mí. Yo estaba tratando de compilar una versión de 32 bits de boost_1_43_0
en debian de 64 bits, y finalmente se le ocurrió esto:
./bjam \
cflags=-m32 \
cxxflags=-m32 \
address-model=32 \
threading=multi \
architecture=x86 \
instruction-set=i686 \
stage
Además, si desea cambiar el compilador, puede especificar su versión del compilador mediante 'project-config.jam' o 'user-config.jam' del directorio boost, asegurándose de que 'using gcc:: g ++ - 4.4; 'se usa (se especifica 4.4 para compilar Boost con archivos Matlab MEX (32 bits) en Linux de 64 bits). – eacousineau
Gracias Andrew, ¡respuesta muy útil! –
para construirlo usando bjam, creo que haría esto: bjam dirección de modelo = 32 arquitectura = x86 –
¿Esto está en un sistema Linux ...? En general, hago trampa usando 'setarch i686 make' o similar. Sin embargo, no sé si eso funcionaría para Boost, en particular. (Y, en ese caso, puedes descargar el binario de 32 bits para tu sistema operativo, así que supongo que quizás estés en otro sistema). – BRFennPocock