私が書こうとしている小さなユーティリティにlibconfig ( http://www.hyperrealm.com/libconfig/ ) を使用しようとしています。libconfig をビルドしてから、ライブラリ ファイル (libconfig.a) をユーティリティのディレクトリにコピーしようとしています。ユーティリティをビルドすると、アーキテクチャに互換性がないという警告が表示されます。これは、私が受け取った特定の警告メッセージの 1 つです。
/usr/bin/ld: warning: i386:x86-64 architecture of input file 'libconfig.a(libconfig_la-libconfig.o)' is incompatible with i386 output
Red Hat Enterprise Linux Server リリース 5.10 マシン (uname -mプロデュース'x86_64') でビルドしています。次のようにlibconfigを構築してみました:
configure --disable-cxx CFLAGS='-m32' LDFLAGS='-m32'
しかし、残念ながら、同じ警告が引き続き表示されるため、これは正しいライブラリを生成していないようです。CFLAGS = -m32 -Wextra -Wall -Werror -Osビルド プロセス中に作成される他のユーティリティがあり、すべてのユーティリティは、およびを指定する make 共通の make ディレクティブを共有するためLDFLAGS = -m32、この動作を変更することはできません。
も試しconfigure --disable-cxx CFLAGS='-arch i386' LDFLAGS='-arch i386ましたが、このコマンド ラインではライブラリがビルドされません。
libconfigを32ビットライブラリとして構築して正しく消費する方法を知っている人はいますか?
ありがとう、
マーク