web-dev-qa-db-ja.com

gcc:32ビットプラットフォームで64ビットバイナリをコンパイルします

Gccを使用して32ビットLinuxプラットフォームで64ビットバイナリをコンパイルすることは可能ですか?

22
weekens

Multilib GCCがインストールされている場合は、コマンドラインに-m64を追加するだけです。 multilibをサポートして構築されていない場合、コンパイラは文句を言うはずです。

リンクするには、標準ライブラリの64ビット版がすべて必要です。ディストリビューションにmultilibGCCがある場合、これらもリポジトリにあるはずです。

29
rubenvb

Synapticに移動し、gcc-multilibまたはg ++-multilibを検索して、-m64オプションが機能しない場合はパッケージをインストールします。次に、-m64オプションを使用してコンパイルします。

2
Franklin

64ビットマシンでコンパイルするgccが必要になります(例:x86_64-linux-gcc。配布パッケージマネージャーを確認してください。

1
wormsparty

最初にgcc-multilibpachageをインストールできると思います。次に、gcc -m64 yourcodeを使用してコードをコンパイルし、file yourprogramを使用してELFファイルをチェックします。出力は次のようになりますyourprogram: ELF 64-bit LSB executable,.......

0
Asuka