Est-il possible de compiler un binaire 64 bits sur une plate-forme Linux 32 bits à l'aide de gcc?
Si vous avez un GCC multilib installé, il vous suffit simplement d’ajouter -m64
à la ligne de commande. Le compilateur devrait se plaindre s'il n'est pas construit avec le support multilib.
Pour établir une liaison, vous aurez besoin de tous les équivalents 64 bits des bibliothèques standard. Si votre distribution a un GCC multilib, ceux-ci devraient également se trouver dans les référentiels.
Allez dans Synaptic et recherchez gcc-multilib ou g ++-multilib et installez le paquet, si l'option -m64
ne fonctionne pas. Ensuite, compilez avec l'option -m64
.
Vous aurez besoin d’un gcc qui compilera sur des machines 64 bits, par exemple x86_64-linux-gcc
. Vérifiez votre gestionnaire de paquets de distribution.
Je pense que vous pourriez installer gcc-multilib
pachage en premier. Et puis compilez votre code en utilisant gcc -m64 yourcode
, vous pouvez vérifier le fichier ELF en utilisant file yourprogram
, le résultat devrait ressembler à ceci yourprogram: ELF 64-bit LSB executable,.......