2012-04-26 12 views
1

私は非常に基本的な質問GNU/Libtoolについて持っています。私のプロジェクトはGNU/autotoolsでビルドされ、共有オブジェクトビルドはGNU/Libtoolで作成されています。私はx86-64マシン上i386共有オブジェクトをコンパイルしたいので、私は実行します。GNU/Libtoolのクロスコンパイル

$ ./configure --build=i386 
checking for a BSD-compatible install... /usr/bin/install -c 
... 
checking whether to build shared libraries... no 
checking whether to build static libraries... yes 
... 
config.status: executing depfiles commands 
config.status: executing libtool commands 
$ 

configureスクリプトは共有ライブラリがサポートされていない私に教えて、makeコマンドは失敗します。このクロスコンパイルの問題を解決するには?

回答はLibtool manualで見つかるはずですか?

答えて

2

--buildは、通常Canadian crossのようなものです。おそらく--hostオプションを使用することをお勧めします。あなたは、システムのタイプを指定していないが、./config.guessは次のように何かを与える場合:

x86_64-apple-darwinまたはx86_64-pc-linux-gnu

次に、あなたはまた

--host=i386-apple-darwinまたはi386-pc-linux-gnu

をspecifiyう - あなたがする必要があるかもしれません32ビットコード生成を強制するためにいくつかのコンパイラフラグを設定します。例えば、

env CC="gcc -m32" ./configure --host=....

多くの場合、-m32オプションは十分です - あなたは--hostオプションを気にする必要はありません。

+0

32ビットコード生成を強制するために、コンパイラとリンカに '-m32'フラグを追加しました。 –