2016-12-08 7 views

答えて

1

私のマシンではデフォルトでELF 64ビットLSB uは、それはあなたに64ビットの実行可能ファイルを生成しますコンパイルした場合に

gcc hello.c -o hello 
。あなたはこれをu How to determine host value for configure when using cross compiler

に役立つかもしれないクロスコンパイルを探しているなら、あなたは、32ビット

gcc -m32 hello.c -o hello 

file hello 
hello : ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=c72216023939b2832467c624850f164d1857e645, not stripped 

のためにあなたのコンパイラを強制-m

使用、それをチェックするためのファイル

hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=9f8fa8ac13fc03672306da1d5d4ee6671114eb11, not stripped 

USEフラグ

1

GCCに-m32フラグを使用させる必要があります。

$ PATHに単純なシェルスクリプトを書き、gccと呼ぶことができます(元のgccを上書きしないでください。新しいスクリプトが$ PATHの前にあることを確認してください。 。GCCへのパス

コンパイルあなたのようなバイナリ - :

/bin/gcc -m32 "source file" 
+0

あなたは少し明確な方法でそれを説明してもらえますか? – Nazeem

+0

@Nazeem私はあなたがシェルスクリプト行について質問していると思います。ここでは、gccコンパイラが32ビットtあなたはクロスコンパイラのようにプログラムをコンパイルすることができます。あなたが私の要点を持っているといいなあ –

+0

https://gcc.gnu.org/ml/gcc-help/2010-09/msg00040.htmlこのリンクはあなたを助けます。 –

関連する問題