web-dev-qa-db-fra.com

gcc: Compile un binaire 64 bits sur une plate-forme 32 bits

Est-il possible de compiler un binaire 64 bits sur une plate-forme Linux 32 bits à l'aide de gcc?

19
weekens

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.

26
rubenvb

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.

2
Franklin

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.

1
wormsparty

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,.......

0
Asuka