J'ai installé valgrind sur Snow Leopard en utilisant le patch au https://bugs.kde.org/show_bug.cgi?id=205241. Cependant, quand je l'exécute avec un binaire que j'ai compilé à partir du code C++, on me dit que valgrind "ne peut pas exécuter le fichier binaire". Quels drapeaux g ++ dois-je définir pour que mon programme fonctionne avec valgrind?Compilation d'un binaire pour travailler avec valgrind sur Snow Leopard
4
A
Répondre
6
Veillez à utiliser l'option -m32 pour générer un exécutable 32 bits. La valeur par défaut du compilateur est 64 bits (en supposant que vous avez une machine 64 bits), mais valgrind ne supporte pas encore officiellement les exécutables 64 bits sur Mac OS X. La commande file
sur votre exécutable devrait signaler "Mach-O exécutable i386".
Merci! C'est juste ce que je cherchais. Cependant, je ne pouvais pas le compiler. J'utilise un makefile pour faire tout cela, et après avoir ajouté l'option -m32, on me dit que "le fichier n'est pas de l'architecture requise" pour tous mes fichiers .o. – weicool
Vous avez besoin de -m32 pour la compilation et la liaison; il semble que vous l'ayez ajouté pour la compilation seulement. Assurez-vous également que vous disposez de versions 32 bits de toutes les bibliothèques que vous utilisez. – mark4o