Andrew Medico の回答の代わりに-m32
、32 ビット コンパイルには ' -m64
'、PPC または SPARC または Intel マシンでの 64 ビット コンパイルには ' ' を使用します。これらすべて。
私はよく使用します:
CC="gcc -m32" ./configure
32 ビット コンパイルを保証するため (または、より頻繁に、CC="gcc -m64"
64 ビット コンパイルを保証するため)。
質問: 「CC は make で使用される環境変数ですか?」
回答: はい。ただし、この場合、 によってconfigure
生成されるシェル スクリプトであるによっても認識されautoconf
ます。私が使用した表記 (コマンド ラインで使用するもの) は、configure
コマンドの実行中に CC を環境に設定します。他の答えは、以下を使用することを提案しています:
./configure CC="gcc -m32"
私はそれが機能し、ほぼ同じ効果を達成すると思います。私はそれを試していないので、それが機能するかどうかはわかりません。
を実行する./configure --help | less
と、スクリプトの使用方法に関する情報 (多くの場合は標準的な情報) が表示されます。最後に、関連する環境変数 (一部) を一覧表示します。CC はその 1 つです。
C コンパイラを "gcc -m32" に設定する利点は、コンパイラが使用されるたびに 32 ビット フラグが設定されることです。フラグ変数 (CFLAGS など) を設定すると、一部のコマンドがそれを使用しない可能性があり、事態が悪化する可能性があります。
また、質問に戻りますが、make
確かにCCという変数(マクロ)を使っています。そして、それを make コマンドラインで設定できます:
make CC="gcc -m32"
これにより、makefile の設定が上書きされます。対照的に、環境変数を使用すると、makefile の設定が環境の値をオーバーライドするため、CC を環境変数として設定してもあまり役に立ちません。makefile より環境を優先しますがmake -e
、通常は危険なオプションです。予期しない副作用が発生する可能性があります。