1

について非常に基本的な質問がありGNU/Libtoolます。私のプロジェクトはによって構築され、によって構築さGNU/autotoolsれた共有オブジェクトが含まれていますGNU/Libtool。マシンi386上で共有オブジェクトをコンパイルしたいので、次のようにします。x86-64

$ ./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
$

構成スクリプトは、共有ライブラリがサポートされていないことを通知し、makeコマンドは失敗します。このクロスコンパイルの問題を修正するにはどうすればよいですか?

Libtool マニュアルで答えを見つける必要がありますか?

4

1 に答える 1

2

--build通常、カナダのクロスコンパイルなどに使用されます。おそらく、--hostオプションを使用する必要があります。システムタイプを指定していませんが、次の./config.guessようなものが得られる場合:

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

次に、指定します

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

また、32 ビット コード生成を強制するために、いくつかのコンパイラ フラグを設定する必要がある場合もあります。例えば、

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

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

于 2012-04-26T15:45:08.940 に答える