2

非ネイティブ アーキテクチャで C ライブラリを構築しようとしています。OSX 10.6 (x86_64) を実行していますが、i386 用にコンパイルされたライブラリが必要です。通常、コンパイラ フラグ -arch i386 を追加するだけです。しかし、私は Autoconf を使用しており、構成ファイルでこれを無視し、実行しようとしても無視します: ./configure CC="gcc -arch i386".

otool を使用してヘッダーを調べたので、x86_64 オブジェクト ファイルがビルドされていることがわかります。本当のキッカーは、autoconf が構成の概要を書き出すときに、cc フラグに -arch i386 をリストすることです。何が起きてる??

仕様:

OS X 10.6.2

gcc 4.2.1

autoconf 2.64

3.81にする

4

2 に答える 2

1

「CFLAGS='-arch i386' が、「通常、コンパイラ フラグを追加するだけでよい」と言ったときに意味したものであると仮定すると、コードの管理者が configure.ac で何か間違ったことをして上書きしたと推測できます。 CFLAGS. configure.ac (またはプロジェクトが古い場合は configure.in) を調べて、CC または CFLAGS に明示的に割り当てられているかどうかを確認してください. また、割り当てについて Makefile.am を確認してください. 何か問題がある可能性があります.したことがうまくいくはずです。

于 2010-02-19T16:35:15.530 に答える
0

あなたはそれをCFLAGS環境変数に設定したいので、autoconfはCFLAGSがそうあるべきであると決定したものにそれを追加するべきです。./configure --helpと入力すると、影響力のあるすべての環境変数のリストが表示されます。

于 2010-02-19T15:03:16.610 に答える