Comment compiler un programme C ++ en 64 bits sur une machine 64 bits?
Peut-être une question triviale:
J'ai besoin de compiler un programme 64 bits (au début du makefile écrit pour le compiler en 32 bits).
J'ai vu l'option-m32 figurant dans les paramètres de ligne de commande à chaque fichier de compilation. Donc, j'ai modifié le fichier makefile pour se débarrasser de -m32 dans OPTFLAG , mais encore une fois lorsque le programme compile, je vois encore -m32 montrant et les binaires sont encore en 32 bits. Cette m32 venir de quelque part d'autre?
source d'informationauteur xyz
Vous devez vous connecter pour publier un commentaire.
-m32
ne peut être venir de quelque part dans votre makefile, vous aurez à suivre (utilisation récursive de grep) et le retirer.Cette erreur signifie qu'il y a une option comme
-march=i686
dans les makefiles, ce qui n'est pas valable pour la version 64 bits de compilation, essayez de supprimer aussi.Si vous ne pouvez pas le supprimer (essayez plus difficile!) ensuite, l'ajout de
-march=x86-64
après lui sur la ligne de commande spécifiez un générique 64-bits type de PROCESSEUR.Si le logiciel que vous essayez de construire est autotools base, cela devrait faire l'affaire:
Ou pour un simple Makefile:
Si vous êtes en utilisant cmake, vous pouvez ajouter m64 options de compilation par ceci: