È possibile compilare un binario a 64 bit su una piattaforma Linux a 32 bit utilizzando gcc?gcc: Compilare un binario a 64 bit su una piattaforma a 32 bit
risposta
Se si dispone di un GCC multilib installato, è semplice come aggiungere -m64
alla riga di comando. Il compilatore dovrebbe lamentarsi se non è stato creato con il supporto multilib.
Per collegare, avrete bisogno di tutte le controparti a 64 bit delle librerie standard. Se la tua distribuzione ha un GCC multilib, anche questi dovrebbero essere nei repository.
Avrete bisogno di un gcc che verrà compilato su macchine a 64 bit, ad esempio x86_64-linux-gcc
. Controlla il tuo gestore dei pacchetti di distribuzione.
cross-compilatori non multilib sono così 200x! = D – rubenvb
Sono solo due anni di distanza, quindi va bene :) – wormsparty
Passare a Synaptic e cercare gcc-multilib o g ++ - multilib e installare il pacchetto, se l'opzione -m64
non funziona. Quindi, compilare con l'opzione -m64
.
Penso che sia possibile installare prima il pachage gcc-multilib
. e quindi compilare il codice utilizzando gcc -m64 yourcode
, si cound controllare il file ELF utilizzando file yourprogram
, l'uscita dovrebbe essere come questo yourprogram: ELF 64-bit LSB executable,.......
http://www.linuxquestions.org/questions/linux-hardware-18/compiling-64 -bit-kernel-in-32-bit-linux-240183/ – sealz
harper89: questa è una discussione del forum incredibilmente inutile. – rubenvb