Wie können wir ppc / ppc64 sowie volle 10.4 / 10.5 SDK Unterstützung für Xcode 4 wiederherstellen?
Da Apple nur die Schiffe SDK 10.6 mit Xcode4, die Entwicklung von PPC-Anwendungen mit Xcode4 ist unmöglich geworden. Während es möglich ist, Anwendungen zu entwickeln mit Xcode4, der auch unter 10.5 und vielleicht sogar auf 10.4 Systeme (durch Auswahl-SDK 10.6, aber Ziel der Bereitstellung 10.5 oder 10.4), Sie laufen nur auf Intel Macs, weil Sie müssen mindestens SDK 10.5 für Gebäude PPC-Anwendungen.
Weiter es gibt einige seltene Fälle, wo Sie wirklich brauchen, um zu bauen gegen ein SDK vor 10.6 für full-Plattform-Unterstützung, z.B. wenn bestimmte veraltet Funktionalität ist komplett verschwunden von der 10.6 SDK, aber Sie haben, um es zu benutzen und dynamische Verknüpfung ist nicht immer die beste option in diesen Fällen. Auch die Verknüpfung mit einem früheren SDK-manchmal werden einfache Entwicklung, wie die Funktionalität, die Sie nicht benutzen soll, wie wäre es mit Ursache Inkompatibilität zu früheren OS-Versionen nicht verfügbar sein, und jeder Versuch, es zu benutzen, jedenfalls führt sofort zu compiler-oder linker-Fehler.
Nicht zuletzt hat Apple auch entfernt GCC-4.0-support von Xcode4, die notwendig sein können, für bestimmte software zu bauen, richtig und Apple hat nie erlaubt, um software kompilieren mit GCC-4.2 wenn mit SDK 10.4, obwohl ich kaum glaube, das würde wirklich dazu führen, keine Probleme, nachdem alle software gebaut mit GCC 4.2 und SDK 10.6 läuft auch auf Mac OS 10.4 ohne Probleme, solange das Ziel der Bereitstellung korrekt eingestellt wurde und keine Funktionen, die nicht verfügbar ist, unter MacOS 10.4 verwendet wurde.
Natürlich können Sie immer haben Sie eine parallele installation von Xcode3 neben Xcode4, aber das heißt, Sie müssen darauf verzichten, alle (großen?) neue Funktionen von Xcode4 und halten Sie die Arbeit mit den veralteten Xcode3 IDE. Es wäre sicherlich viel besser, wenn könnten Sie auch verwalten Sie all Ihre alten Projekte innerhalb der gleichen IDE wie Ihr neue und davon profitieren alle neuen features zur Verfügung. Nicht alle Projekte, die gemacht werden können, 10.6 oder nur Intel in absehbarer Zukunft. Weiter bin ich strikt gegen die Abschaffung der support für ältere Plattformen früher, als wirklich notwendig ist.
Können wir diese Funktionalität wiederherstellen zu Xcode4?
InformationsquelleAutor der Frage Mecki | 2011-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die schnelle Antwort ist: ja, wir können!
Bevor ich zu den "wie es gemacht wird" Teil, hier sind ein paar Notizen über meine patch/hack/fix. Von Anfang an die wichtigsten Ziele sind:
Halten alle änderungen auf ein minimum.
Wir wollen den Xcode-setups so original wie möglich.
Mit allen Mitteln versuchen zu vermeiden, Flicken oder ändern von Dateien.
Wir möchten, dass alle Dateien bleiben unangetastet und behalten Ihren ursprünglichen Inhalt.
Versuchen zu vermeiden, verschieben oder kopieren von Dateien um, wenn es absolut notwendig ist.
War ich in der Lage zu halten, all diese Ziele zu erreichen. Fast alles wird durch anlegen von symlinks. Nur eine einzige vorhandene symlink ersetzt werden mussten und wir werden es wieder auf, bevor Ersatz, nur für den Fall.
Wenn Sie kein Experte auf terminal-Operationen, empfehle ich dringend, die Sie kopieren/einfügen alle terminal-Befehle aus meiner Antwort an Ihr terminal, um Tippfehler zu vermeiden. Beachten Sie, dass auch Abstand, zitieren und vor allem die Großschreibung wichtig sein kann. Mit kopieren/einfügen Zeile, nie mehr als eine Zeile auf einmal, und drücken Sie return nach jeder eingefügten Zeile um den Befehl auszuführen. Sollte eine operation immer eine Eingabeaufforderung für ein Passwort, dies wird das Passwort des aktuell angemeldeten administrator-Benutzer (Ihre Tastatureingaben werden nicht angezeigt, während Sie Tippen, das ist normal, Mach dir keine sorgen, nur halten Sie das entsprechende Kennwort eingeben und drücken Sie die EINGABETASTE; versuchen Sie es erneut, wenn Sie hatte eine Tippfehler, und bekommen Sie erneut aufgefordert).
Voraussetzung
Bevor wir beginnen können, stellen Sie sicher, dass die folgenden Bedingungen erfüllt sind:
Schritt 1: Installieren Von Xcode3
Wichtig: nicht installieren "System-Tools" oder "Unix-Entwicklung - Paket" von Xcode3.
Ob Sie installieren möchten "Mac OS X 10.4 SDK" und/oder "Dokumentation" ist bis zu Ihnen. Wenn das ein Xcode3 mit iOS SDKs, ob Sie diese installieren oder nicht, liegt auch an Ihnen.
Sie sind frei, wählen Sie einen beliebigen Zielordner für die installation aus. Für diese Anleitung habe ich gewählt, "/Xcode3", aber das Gefühl, frei zu wählen, eine andere. So stellen Sie sicher, ändern Sie alle terminal-Befehle entsprechend.
Die Reihenfolge der Schritte, die hier gegeben ist in der Regel nicht wirklich wichtig, aber ich raten Ihnen dringend, nicht swap-Schritt 1 und Schritt 2. Xcode installiert immer noch ein paar Dateien, die außerhalb des gewählten Zielordner und Vertrauen Sie mir, am Ende wollen Sie die Xcode4 Versionen dieser Dateien auf Ihrer Festplatte. Durch die Installation von Xcode3 vor Xcode4, können Sie sicher sein, dass Xcode4 überschreibt die Dateien, wenn nötig. Ich habe mal tauschte Sie die Schritte 1 und 2 und am Ende hatte ich einige seltsame Probleme, die möglicherweise wurden im Zusammenhang mit der falschen Reihenfolge (ich kann nicht sicher sagen, aber nach dem neu-installieren in der richtigen Reihenfolge die Probleme waren Weg).
Schritt 2: Installieren Von Xcode4
Haben alle Pakete, die Sie mögen. Die Installation von "System-Tools" ist ratsam, aber nicht unbedingt notwendig (obwohl die meisten Menschen früher oder später vermissen, Funktionalität).
Wieder, fühlen Sie sich frei, um wählen Sie einen Zielordner, den Sie möchten. Für diese Anleitung, die ich wählte die normale Ziel-Ordner "/Entwickler", wenn Sie einen anderen nehmen, ändern Sie alle terminal-Befehle entsprechend.
Schritt 3: Wiederherstellen 10.4/10.5 SDK-Support
Wechseln Sie zu Ihrem terminal-Fenster und führen Sie die folgenden Befehle:
Natürlich nur den Befehl ausführen für 10.4 u, wenn Sie auch installiert-SDK 10.4 in Schritt 1.
Dies ist genug, um den SDKs 10.5 (und möglicherweise 10.4) zurück zur Auswahl-Liste in Xcode4. Geben Sie ihm einen Versuch, wenn Sie mögen. Feuer bis Xcode4, öffnen Sie ein Projekt, versuchen Sie, die ausgewählte SDK. Das war einfach, nicht wahr? Schließen Sie Xcode4 wieder (die Anwendung, nicht nur die Fenster, bevor Sie mit dem nächsten Schritt Fort.
Schritt 4: Wiederherstellen von GCC-4.0-Support -
Falls Sie noch nicht installiert ist MacOS 10.4 SDK oder wenn Sie nicht Vorhaben, um es überhaupt verwenden, können Sie sicher überspringen Sie diesen Schritt und fahren mit Schritt 5.
Verwenden-SDK 10.4, müssen Sie die GCC-4.0 GCC-4.2 wird nicht funktionieren. Apple behauptet, dass GCC 4.2 ist nicht kompatibel mit dem SDK 10.4, gut, wenn Sie mich Fragen, ist das eine Falschmeldung. Ich habe bereits überschrieben, diese Grenzen mehr als einmal und es kam nie das kleinste Problem, weil es. Es wäre leicht zu ändern-SDK 10.4, so dass Xcode erlaubt die Verwendung von GCC-4.2, aber mein Ziel war es, zu vermeiden, werden alle Datei-änderungen, so dass wir nur hinzufügen, GCC-4.0-support-zurück zu Xcode, das ist auch eine gute Sache, weil einige Projekte, die wirklich davon abhängen, GCC 4.0 (z.B. gibt es einige bugs in GCC-4.2, die verhindern, dass gültige inline-Assembler-code zu kompilieren ohne Fehler, während der gleiche code kompiliert problemlos auch auf den GCC 4.0 und GCC 4.4).
Zurück zum terminal:
Haben wir momentan restauriert vollständige GCC-4.0-Unterstützung außer der Tatsache, dass GCC 4.0 ist immer noch nicht auswählbar in Xcode4. Das ist, weil Xcode4 ist kein GCC-4.0-compiler-plug-in nicht mehr. Glücklicherweise ist die Xcode3-plug-in funktioniert auch in Xcode4, nur die Lage hat sich radikal geändert. Apple nun versteckt sich die plugins, die tief in ein Bündel, und nur die plugins scheint es zu funktionieren, indem Sie auf Ihre alte position scheint keine Wirkung haben.
Nun Feuer bis Xcode4 wieder, öffnen Sie ein Projekt und versuchen Sie, die compiler. Sollten Sie GCC 4.0 wieder auf der Liste. Jetzt kannst du eigentlich schon wählen SDK 10.4 oder 10.5, GCC 4.0 und Sie sollten kein Problem, um zu bauen ein PPC binary. Wählen Sie einfach "Anderen..." für die "Architektur" build-Einstellung und geben Sie manuell "ppc", dann ändern "Gültige Architekturen", auch "ppc". Wir sind fast fertig, außer, dass der Versuch zum Aufbau einer PPC-binary mit GCC 4.2 und SDK 10.5 wird immer noch nicht.
Schritt 5: Wiederherstellen von PPC-Unterstützung für GCC 4.2
Da Apple nur die Unterstützung von Intel-Plattformen in Xcode4, nicht alle GCC-4.2-tools erstellt wurde, mit PPC-Unterstützung. Es ist ein wichtiges Werkzeug, das keine PPC-Unterstützung, ist das tool mit dem Namen "als" und es ist der GNU-Assembler. Zum kompilieren ppc/ppc64 binaries mit GCC 4.2 brauchen wir eine "als" version mit ppc/ppc64-Unterstützung. Dies ist die einzige Datei (eigentlich ist es auch ein symlink ist), müssen wir zunächst beiseite schieben (erstellen einer Sicherungskopie), bevor wir ersetzen Sie ihn durch einen symlink:
Schritt 6: Es gibt Keinen Schritt 6
That ' s all folks. Wenn man bedenkt, wie einfach das war, kann man sich vorstellen, dass Apple sicherlich nicht gefallen-SDK 10.4/10.5 ppc/ppc64-oder GCC-4.0-support, da dies eine Notwendigkeit war, ließ Sie alle, weil Sie es wollten, es fallen zu lassen.
Ich hoffe, dass dieses setup so gut funktioniert für Sie, wie es für mich tut. Ich habe in der Lage zu kompilieren, alle meine alten Projekte in Xcode4 ohne große Veränderungen, außer dass die alter-ein such-Pfad hier und da.
PS:
Es mag seltsam Aussehen, dass ich die Antwort auf meine eigene Frage hier, aber da ich herausgefunden habe, wie dieses problem zu lösen, alle von mir, ich würde gerne mein wissen zu teilen mit der Gemeinschaft, weil ich glaube, das ist wirklich wertvollen input für alle MacOS-Entwickler. Diese Frage wurde so oft gefragt in so vielen Orten, und bisher habe ich noch nie gesehen, dass jemand kommen mit einem ähnlichen Update. Teilen Sie den Reichtum, die Verbreitung der Kenntnisse und so weiter, Ihr wisst was ich meine.
Wenn Sie Immer Noch Probleme/Fragen:
Wenn Sie weitere Fragen zu diesem Thema oder wenn Sie immer noch Probleme haben, bauen Sie Ihre alte Projekte korrekt, tun Sie bitte das, was Stack Overflow ist entworfen worden für: Klicken Sie auf "Frage stellen" in der oberen rechten Ecke dieser Seite und erstellen Sie eine neue Frage. So die ganze Gemeinschaft Ihnen helfen können, die Lösung dieser Probleme, denn die Probleme können nicht direkt (vielleicht auch nicht indirekt) bezogen werden, um diese hack.
Ich würde empfehlen, Sie erwähnen die Tatsache, dass Sie haben wenden Sie diesen hack auf den Anfang Ihrer Frage. Vielleicht haben Sie auch wollen, um direkt den link zu dieser Frage, so dass die Menschen, die noch nie gehört von diesem hack kann leicht zu schauen Sie. Ansonsten werden sich die meisten Leute eher irritiert, wenn Sie erwähnen, SDK 10.4/10.5, PPC oder GCC 4.0 in Kombination mit Xcode4, die offiziell unterstützt weder diese. Erhalten Sie möglicherweise eher blöde Kommentare anstatt anständige Antworten, wenn Sie vergessen zu erwähnen, dass dieser hack.
Bitte unterlassen Sie es, posten Sie Ihre Fragen oder Probleme hier entweder Antworten oder Kommentare. Die Veröffentlichung von Antworten macht keinen Sinn, weil Sie keine Antworten und es gibt keine Weise, wie Menschen Antworten zurück zu Ihnen, dann werden Sie anderen mit Kommentaren, und Kommentare können nicht bieten genügend Platz für eine anständige Antwort auf deine Frage, oder eine anständige Lösung für Ihr problem. Und Entsendung Sie als Kommentare sind Sie nur noch sehr wenig Raum und tracking-Antwort-Kommentare werden hart wie die Kommentare haben keine baumartige Hierarchie (weiter-Sie bieten zu wenig Platz für anständige Antworten/Lösungen). Danke.
Natürlich die andere Art von Kommentaren sowie bessere Antworten auf die ursprüngliche Frage sind immer willkommen 😉
InformationsquelleAutor der Antwort Mecki
Weitere einfache Möglichkeit, mit nur Xcode4, Xcode3 nicht mehr benötigt wird.
BEARBEITET:
Für Xcode 4.1,
Können Sie mit gcc-4.2, die nur für PowerPC. Und “-isysroot /Developer/SDKs/MacOSX10.6.sdk" - option ist erforderlich, weil 10.7 SDK unterstützt keine PowerPC mehr.
InformationsquelleAutor der Antwort Kazuki Sakamoto
Ich gesammelt habe, alle Informationen aus dieser Seite, die Mac-OS-X-Tipps splhack.org und die anderen Quellen hier zitiert, und zusammen eine Reihe von BASH-Skripten, die Sie automatisieren den Prozess der Wiederherstellung der PPC-GCC-4.0-support-entweder über ein XCode 3 installation oder einfach nur XCode 4 der eigenen iPhone-Plattform-Dateien.
Wie immer, mit Vorsicht zu verwenden! und bitte tragen Sie alle fixes oder Verbesserungen. Diese Skripte sind nur getestet auf meinem eigenen system wie dieses posting.
Können Sie herunterladen von GitHub:
InformationsquelleAutor der Antwort Scott Lahteine
Wenn Sie möchten, gcc arbeiten von der Kommandozeile aus als auch, (ebenso wie die oben genannten) Sie müssen auch:
InformationsquelleAutor der Antwort jas
Funktioniert dieser immer noch mit Xcode 4.3.2 von der AppStore - version, wo alles ist eigenständig in ein App-bundle. Wie in der ursprünglichen Hinweis, installieren Sie Xcode 3.2.6 zuerst* und dann laden Sie Xcode 4 aus dem AppStore.
Führen Sie dann die folgenden symlink magic:
Den letzten beiden Zeilen benennen Sie darwin10 zu darwin11 in der symlink - ich vermute, dass zukünftige Versionen von OS X wird dies erfordern, werden gegebenenfalls aktualisiert.
Installieren Xcode 3.2.x Lion, montieren Sie die Xcode-disk-image öffnen Sie ein Terminal, geben Sie die Befehle (bash verwenden, oder die entsprechende Befehle wenn Sie ' ve verändert Ihre Standard-shell):
export COMMAND_LINE_INSTALL=1
open "/Volumes/Xcode und iOS SDK/Xcode und iOS SDK.mpkg"
Werden Sie auch brauchen, um die Uhr wieder zu einem Zeitpunkt vor dem 31 März 2012 sonst Sicherheits-Zertifikate, Validierung fehl, während der installation. Sie können sicher ändern Sie das Datum wieder zurück nach der installation offensichtlich!
InformationsquelleAutor der Antwort Avram
Falls jemand die Notwendigkeit der Wiederherstellung der alten SDKs und PPC-compiler in Xcode 4.3 und 4.5, dieses ist ein Skript, das ich kam mit. Hinweis: Sie müssen den Pfad zu der Xcode app-bundle und den Pfad in Xcode 3.2.6 installieren an den Anfang des Skripts.
Brauchen Sie nicht, um symlink-SDK 10.6 wenn Sie Xcode 4.3, da es darum geht mit einer.
Auch das Skript nicht wieder gcc-4.2, da gibt es eine Menge von Konflikten mit dem Namen zu tun. Mein Ziel ist die Wiederherstellung der PPC-compiler und 4.0 ist gut genug für mich.
InformationsquelleAutor der Antwort Stephen Chu
Frédéric Devernay hat ein GitHub-Projekt namens xcodelegacy die funktioniert fantastisch für mich an Xcode 5.1.1, und braucht sehr wenig Arbeit, um es zu gehen, nur einige herunterladen.
Mit seinen Projekt, ich habe es geschafft, erstellen von universal binaries, die sowohl ppc und i386-Architekturen kompiliert mit der 10.4 SDK mit GCC 4.0, alle aus innerhalb von Xcode 5.1.1 läuft auf Yosemite.
Ich habe festgestellt ich, dass die universal binaries erstellt, funktionieren auf 10.5 Leopard und Yosemite selbst.
Home page hier: http://devernay.free.fr/hacks/xcodelegacy
Git-hub Projekt hier: https://github.com/devernay/xcodelegacy
InformationsquelleAutor der Antwort Henry
Wäre es nützlich, um ein Paket zu installieren Sie einfach diese Dateien in ein XCode 4 Implementierung. (oder tarball).
FYI: 3.2.6 von Xcode3 beinhaltet nicht eine als mit ppc-Architektur. Aber ich hatte ein backup von Leopard auf meinem computer. Also habe ich kopiert, dass man, scheint zu funktionieren. (Verwenden Sie /usr/libexec/gcc/darwin/ppc/as ).
Bedenkt, dass beide gcc und als open source-das einzige Zeug, das kann nicht sein redistributable ist die xcode-plugin und die 10.4 SDK richtig?
InformationsquelleAutor der Antwort Jason Kenney