2009-08-31 4 views
19

Come impongo una build di Boost a 32 bit con GCC? Attualmente il tentativo inserendo questa linea nella mia user-config.jam, ma non funziona:Come impongo una build di Boost a 32 bit con GCC?

using gcc : 4.1.2 : g++ : compileflags="-m32" ; 
+0

per costruirlo usando bjam, penso che faresti questo: indirizzo modello bjam = 32 architecture = x86 –

+0

Si trova su un sistema Linux ...? Generalmente imbroglio usando 'setarch i686 make' o simili. Non so se questo funzionerebbe per Boost, in particolare, però. (E, in quel caso, puoi semplicemente scaricare il file binario a 32 bit per il tuo sistema operativo, quindi suppongo che tu sia su un altro sistema.) – BRFennPocock

risposta

25

Se si utilizza C++ Boost 1.40, utilizzare:

bjam address-model=32 

Se si utilizza la versione eariler, prendere in considerazione l'aggiornamento. Se non è possibile, utilizzare

bjam address-model=32 architecture=x86 

Mi consiglia inoltre di dare un'occhiata al fine manual

+11

Oh sì ... quel "bel manuale" è fantastico. Adoro tutti gli esempi che forniscono. (Sarcasm) –

+1

Le patch sono benvenute. Tuttavia, non sono esattamente sicuro che l'aggiunta esplicita di un comando completo come ad esempio per ogni singola proprietà elencata nell'URL sopra riportato comporterà ben altro che gonfiore delle dimensioni dei documenti. –

+2

Nota che se hai una versione a 64 bit di 'gcc', dovresti dare un'occhiata alla risposta di @AndrewMeadows. – ereOn

18

Questa risposta mi ha aiutato verso una soluzione che ha funzionato per me. Stavo cercando di compilare una versione a 32 bit di boost_1_43_0 a 64-bit debian e alla fine si avvicinò con questo:

./bjam     \ 
    cflags=-m32   \ 
    cxxflags=-m32  \ 
    address-model=32  \ 
    threading=multi  \ 
    architecture=x86  \ 
    instruction-set=i686 \ 
    stage 
+1

Inoltre, se si desidera modificare il compilatore, è possibile specificare la versione del compilatore tramite la cartella boost 'project-config.jam' o 'user-config.jam' assicurandosi che 'usi gcc:: g ++ - 4.4; 'è usato (specificato 4.4 per compilare Boost con file Matlab MEX (32-bit) su linux a 64 bit). – eacousineau

+0

Grazie Andrew, risposta molto utile! –

Problemi correlati