Question

J'ai un MacBook Pro avec un 64 bits Intel Core 2 Duo, et j'utilise pour compiler executables gcc (i686-pomme-darwin9-gcc-4.0.1) que je peux courir ok sur ma propre machine . Récemment, quelqu'un a essayé de lancer mon application sur un PowerBook G4 et a obtenu une erreur « Bad type CPU exécutable », qui je pense est parce que leur CPU est PPC plutôt que Intel (et peut-être 32 bits non 64 bits)

moi Est-il possible de produire des binaires qui fonctionneront sur toutes les différentes architectures Mac en utilisant gcc, et si oui quelles options dois-je utiliser?

Était-ce utile?

La solution

Regardez le paramètre -arch pour gcc docs d'Apple

Autres conseils

Vous devez regarder dans « Universal Binaries » c'est le nom donné à un fichier application qui fonctionne, sans recompilation dynamique, sur les deux architectures ppc et i386. Comme vous le savez les fichiers .app (Mac exécutables), sont dans les archives d'information, qui contiennent, en leur sein, l'application binaire réelle. Ceux-ci peuvent être partitionnées de telle sorte que les deux binaires i386 et ppc sont contenus.

Pour vous enregistrer et vos utilisateurs futurs maux de tête, vous devez mordre la balle et mettre en place votre projet dans le Xcode d'Apple. Si vous suivez les paramètres par défaut, Xcode peut prendre soin de tous les détails de la construction pour de multiples architectures, comme l'utilisation des drapeaux -arch appropriés pour gcc, en utilisant les bibliothèques SDK correctes, la compatibilité avec les versions précédentes OS X, etc etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top