2009-08-31 5 views
19

GCCでBoostの32ビットビルドを強制するにはどうしたらいいですか?現在、私のuser-config.jamにこのラインを置くことによって試みるが、それは動作しません:GCCでBoostの32ビットビルドを強制するにはどうしたらいいですか?

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

、私はあなたがこれを行うと思う: bjamアドレスモデル= 32 architecture = x86 –

+0

これはLinuxシステムでですか?私は一般的に 'setarch i686 make'などを使って不正行為をしています。私はそれがブーストのためにうまくいくかどうかはわかりませんが、特にそうです。 (そして、その場合は、あなたのOS用の32ビットバイナリをダウンロードすることができるので、別のシステムにいるかもしれないと思います。) – BRFennPocock

答えて

25

あなたがCを使用している場合は、使用を1.40ブースト++:

bjam address-model=32 

あなたがearilerバージョンを使用している場合は、アップグレードを検討してください。あなたは、

bjam address-model=32 architecture=x86 

を使用できない場合、私はまた、あなたがこの答えは私のために働いたソリューションに向かって私を助けてくれfine manual

+11

ああ、... "良いマニュアル"は素晴らしいです。彼らが提供するすべての例が大好きです。 (皮肉) –

+1

パッチは大歓迎です。しかし、上記のURLに と記載されているすべてのプロパティに対して、例のような完全なコマンドを明示的に追加すると、ドキュメントのサイズが膨大になります。 –

+2

あなたが 'gcc'の64ビットバージョンを持っているなら、@AndrewMeadows answerを見てください。 – ereOn

18

を見てみることをお勧めします。私は、64ビットのdebian上boost_1_43_0の32ビットバージョンをコンパイルしようと最終的にはこの思い付いた:bjamを使用して、それを構築するには

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

また、コンパイラのバージョンを変更したい場合は、boostディレクトリの 'project-config.jam'または 'user-config.jam'で 'gcc::g ++ - 4.4;を使ってコンパイラのバージョンを指定することができます。 'が使用されます(64ビットLinuxではBoost with Matlab MEX(32ビット)ファイルをコンパイルするために4.4と指定されています)。 – eacousineau

+0

おかげでアンドリュー、非常に便利な答え! –

関連する問題