Xcode 4'e tam 10.4 / 10.5 SDK desteğinin yanı sıra ppc / ppc64'ü nasıl geri yükleyebiliriz?


93

Apple, Xcode4 ile yalnızca SDK 10.6'yı gönderdiğinden, Xcode4 ile PPC uygulamaları geliştirmek imkansız hale geldi. Xcode4 ile 10.5 ve hatta belki 10.4 sistemlerde de çalışabilen uygulamalar geliştirmek mümkün olsa da (SDK 10.6, ancak dağıtım hedefi 10.5 veya 10.4'ü seçerek), bunlar yalnızca Intel Mac'lerde çalışacak çünkü en az SDK 10.5'e ihtiyacınız var. PPC uygulamaları oluşturmak.

Ayrıca, tam platform desteği için 10.6'dan önce bir SDK'ya karşı gerçekten geliştirme yapmanız gereken bazı nadir durumlar vardır, örneğin, bazı kullanımdan kaldırılmış işlevler 10.6 SDK'dan tamamen kaybolduysa, ancak onu kullanmanız gerekir ve dinamik bağlantı bu durumlarda her zaman en iyi seçenek. Ayrıca eski bir SDK ile bağlantı kurmak, daha önceki işletim sistemi sürümleriyle uyumsuzluğa neden olacağından, kullanılamayacağından ve herhangi bir şekilde kullanmaya yönelik herhangi bir girişim derhal derleyici veya bağlayıcı hatalarına yol açacağından, kullanmamanız gereken işlevsellik nedeniyle geliştirmeyi kolaylaştıracaktır.

Son olarak Apple, Xcode4'ten GCC 4.0 desteğini kaldırmıştır; bu, belirli yazılımların doğru bir şekilde oluşturulması için gerekli olabilir ve Apple, SDK 10.4 kullanırken GCC 4.2 ile yazılım derlemesine hiçbir zaman izin vermedi, bunun gerçekten neden olacağına neredeyse hiç inanmıyorum. GCC 4.2 ve SDK 10.6 ile oluşturulan tüm yazılımlardan sonra herhangi bir sorun, dağıtım hedefi doğru bir şekilde ayarlandığı ve MacOS 10.4 altında kullanılamayan hiçbir işlev kullanılmadığı sürece Mac OS 10.4'te de sorunsuz çalışabilir.

Tabii ki, Xcode4'ün yanında her zaman paralel bir Xcode3 kurulumuna sahip olabilirsiniz, ancak bu, Xcode4'ün tüm (harika?) Yeni özelliklerinden vazgeçmeniz ve eski Xcode3 IDE ile çalışmaya devam etmeniz gerektiği anlamına gelir. Tüm eski projelerinizi de yenilerinizle aynı IDE içinde yönetebilmeniz ve mevcut tüm yeni özelliklerden yararlanabilmeniz kesinlikle çok daha iyi olacaktır. Tüm projeler yalnızca öngörülebilir gelecekte 10.6 veya Intel olarak yapılamaz. Dahası, eski platformlara verilen desteğin gerçekten gerekenden daha erken kaldırılmasına kesinlikle karşıyım.

Bu işlevselliği Xcode4'e geri yükleyebilir miyiz?

Yanıtlar:


111

Hızlı cevap: Evet, yapabiliriz!

" Nasıl yapılır " kısmına geçmeden önce , yama / hack / düzeltmeyle ilgili bazı notlar burada. En başından beri ana hedefler şunlar olmuştur:

  1. Tüm değişiklikleri mutlak minimumda tutun.
    Xcode kurulumlarını olabildiğince orijinal tutmak istiyoruz.

  2. Elbette, herhangi bir dosyaya yama uygulamaktan veya değiştirmekten kaçınmaya çalışın.
    Tüm dosyaların dokunulmadan kalmasını ve orijinal içeriklerini korumasını istiyoruz.

  3. Kesinlikle gerekmedikçe dosyaları taşımaktan veya kopyalamaktan kaçının.

Tüm bu hedefleri tutmayı başardım. Hemen hemen her şey sembolik bağlantılar oluşturarak yapılır. Sadece tek bir mevcut sembolik bağlantının değiştirilmesi gerekiyordu ve her ihtimale karşı, değiştirmeden önce onu yedekleyeceğiz.

Terminal işlemleri konusunda uzman değilseniz, yazım hatalarını önlemek için yanıtımdaki tüm terminal komutlarını kopyalamanızı / yapıştırmanızı şiddetle tavsiye ederim. Hatta boşluk bırakmanın, alıntı yapmanın ve özellikle büyük harf yazmanın önemli olabileceğini unutmayın. Bunları satır satır kopyalayın / yapıştırın, asla aynı anda birden fazla satır bulun ve komutu yürütmek için yapıştırılan her satırdan sonra return tuşuna basın. Herhangi bir işlem sizden bir şifre isterse, bu o anda oturum açmış olan yönetici kullanıcının şifresi olacaktır (tuş vuruşlarınız yazarken görüntülenmez, bu normaldir, endişelenmeyin, sadece şifreyi yazmaya devam edin ve geri dönün -bir yazım hatası olup olmadığını deneyin ve tekrar sorulsun).

Önkoşul

Başlamadan önce aşağıdaki koşulların doğru olduğundan emin olun:

  • Yönetici kullanıcı olarak giriş yaptınız.
  • Terminal.app (Uygulamalar / Yardımcı Programlar) başlattınız ve bir terminal penceresi açık.
  • Xcode3'ün (örn. 3.2.5) ve Xcode4 disk görüntüsünün (DMG) veya yükleyicinin bir kopyasına sahipsiniz.
  • Zaten yüklü bir Xcode sürümünüz varsa, önce onu kaldırmayı düşünün , böylece yeni / temiz bir kurulumla başlayabilirsiniz. Xcode'u kaldırmak tercihlerinizi, renk düzeninizi veya anahtar bağlama özelleştirmelerinizi kaldırmaz. İdeal olarak, şu anda yüklü olmayan Xcode sürümü (ne 3 ne de 4) olmayan bir sistemle başlarsınız.

Adım 1: Xcode3'ü Yükleme

Önemli : Xcode3'ün " Sistem Araçları " veya " Unix Geliştirme " paketini kurmayın.
" Mac OS X 10.4 SDK " ve / veya " Documentation " yüklemek isteyip istemediğiniz size kalmış. Bu, iOS SDK'lı bir Xcode3 ise, bunları yükleyip yüklememeniz de size bağlıdır.

Kurulumunuz için herhangi bir hedef klasörü seçmekte özgürsünüz. Bu kılavuz için " / Xcode3 " ü seçtim , ancak farklı bir tane seçmekten çekinmeyin. Sadece tüm terminal komutlarını uygun şekilde değiştirdiğinizden emin olun.

Burada verilen adımların sırası genellikle çok önemli değildir, ancak adım 1 ve adım 2'yi değiştirmemenizi şiddetle tavsiye ederim. Xcode her zaman seçilen hedef klasörün dışına birkaç dosya yükler ve bana güvenin, sonunda istediğiniz Diskinizdeki bu dosyaların Xcode4 sürümleri. Xcode3'ü Xcode4'ten önce kurarak, Xcode4'ün gerekirse bu dosyaların üzerine yazacağından emin olabilirsiniz. Bir zamanlar 1. ve 2. adımları değiştirdim ve sonunda yanlış siparişle ilgili olabilecek oldukça garip sorunlar yaşadım (kesin olarak söyleyemem, ancak doğru sırayla yeniden yükledikten sonra sorunlar ortadan kalktı).

Adım 2: Xcode4'ü Yükleme

Beğendiğiniz herhangi bir paketi seçin. " Sistem Araçları " nın yüklenmesi tavsiye edilir, ancak kesinlikle gerekli değildir (ancak çoğu insan er ya da geç bu işlevi gözden kaçıracaktır).

Yine, istediğiniz herhangi bir hedef klasörü seçmekten çekinmeyin. Bu kılavuz için normal hedef klasörü " / Developer " seçtim , eğer farklı bir tane alırsanız, tüm terminal komutlarını buna göre değiştirin.

Adım 3: 10.4 / 10.5 SDK Desteğini Geri Yükleme

Terminal pencerenize geçin ve aşağıdaki komutları çalıştırın:

cd / Geliştirici / SDK'lar
sudo ln -s /Xcode3/SDKs/MacOSX10.4u.sdk.
sudo ln -s /Xcode3/SDKs/MacOSX10.5.sdk.

Elbette 10.4u komutunu yalnızca 1. adımda SDK 10.4'ü de yüklediyseniz çalıştırın.

Bu, SDK'ları 10.5 (ve muhtemelen 10.4) Xcode4'teki seçim listesine geri getirmek için yeterlidir. İstersen bir dene. Xcode4'ü çalıştırın, bir proje açın, seçili SDK'yı değiştirmeyi deneyin. Bu kolay mıydı? Sonraki adıma geçmeden önce Xcode4'ü (yalnızca pencereyi değil, uygulamayı) tekrar kapattığınızdan emin olun.

Adım 4: GCC 4.0 Desteğini Geri Yükleme

MacOS 10.4 SDK yüklemediyseniz veya hiç kullanmayı planlamıyorsanız, bu adımı güvenle atlayabilir ve 5. adıma geçebilirsiniz.

SDK 10.4'ü kullanmak için GCC 4.0 kullanmanız gerekir, GCC 4.2 çalışmaz. Apple, GCC 4.2'nin SDK 10.4 ile uyumlu olmadığını iddia ediyor, peki, bana sorarsanız, bu bir aldatmaca. Bu sınırlamaların üzerine bir kereden fazla yazdım ve bu yüzden hiçbir zaman en ufak bir sorun olmadı. SDK 10.4'ü Xcode bunun için GCC 4.2'yi kullanmanıza izin verecek şekilde değiştirmek kolay olurdu, ancak amacım tüm dosya değişikliklerinden kaçınmaktı, bu yüzden GCC 4.0 desteğini Xcode'a geri ekledik, bu da iyi bir şey çünkü bazı projeler gerçekten GCC 4.0'a bağlıdır (örneğin, GCC 4.2'de geçerli satır içi derleme kodunun hatasız derlenmesini engelleyen bazı hatalar varken, aynı kod GCC 4.0 ve GCC 4.4'te kusursuz bir şekilde derlenir).

Terminale geri dönün:

cd / Geliştirici / usr / bin
sudo ln -s /Xcode3/usr/bin/*4.0*.

cd / Developer / usr / libexec / gcc / powerpc-apple-darwin10
sudo ln -s /Xcode3/usr/libexec/gcc/powerpc-apple-darwin10/4.0.1.

Şu anda, GCC 4.0'ın Xcode4'te hala seçilebilir olmaması dışında tam GCC 4.0 desteğini geri yükledik. Bunun nedeni, Xcode4'ün artık GCC 4.0 derleyici eklentisine sahip olmamasıdır. Neyse ki Xcode3 eklentisi Xcode4'te de çalışıyor, sadece konum kökten değişti. Apple artık bu eklentileri bir paketin derinliklerinde gizliyor ve yalnızca oradaki eklentiler çalışıyor gibi görünüyor, onları eski konumlarına yerleştirmenin hiçbir etkisi yok gibi görünüyor.

cd / Geliştirici / Kitaplık / Xcode / PrivatePlugIns
cd Xcode3Core.ideplugin / Contents / SharedSupport / Developer / Library / Xcode / Plug-ins
sudo ln -s "/ Xcode3 / Library / Xcode / Plug-ins / GCC 4.0.xcplugin".

Şimdi Xcode4'ü tekrar çalıştırın, bir proje açın ve derleyiciyi seçmeyi deneyin. Listede GCC 4.0'a sahip olmalısınız. Artık zaten SDK 10.4 veya 10.5, GCC 4.0'ı seçebilirsiniz ve bir PPC ikilisi oluşturmak için herhangi bir sorununuz olmamalıdır. " Mimari " yapı ayarı için " Diğer ... " öğesini seçin ve " ppc " yi manuel olarak girin , ardından " Geçerli Mimariler " i " ppc " yi de içerecek şekilde değiştirin . Neredeyse bitirdik, ancak GCC 4.2 ve SDK 10.5 kullanarak bir PPC ikilisi oluşturmaya çalışmak hala başarısız olacak.

Adım 5: GCC 4.2 için PPC Desteğini Geri Yükleme

Apple, Xcode4'te yalnızca Intel platformlarını desteklediğinden, tüm GCC 4.2 araçları PPC desteğiyle oluşturulmamıştır. PPC desteği olmayan önemli bir araç vardır, araç " as " olarak adlandırılır ve bu GNU Assembler'dır. Ppc / ppc64 ikili dosyalarını GCC 4.2 ile derlemek için ppc / ppc64 destekli bir " as " sürümü kullanmamız gerekir . Bu, bir sembolik bağ ile değiştirmeden önce bir kenara çekmemiz gereken (bir yedek kopya oluşturmamız gereken) tek dosyadır (aslında bir sembolik bağdır):

cd /Developer/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1
sudo mv as.bak olarak
sudo ln -s / Xcode3 / usr / bin / as.

Adım 6: Adım 6 Yok

Hepsi bu kadar millet. Bunun ne kadar kolay olduğu düşünüldüğünde, Apple'ın kesinlikle SDK 10.4 / 10.5 veya ppc / ppc64 veya GCC 4.0 desteğini düşürmediğini hayal edebilirsiniz çünkü bu bir zorunluluktu, hepsini düşürmek istedikleri için bıraktılar.

Umarım bu kurulum benim için olduğu kadar sizin için de işe yarar. Tüm eski projelerimi Xcode4'te büyük bir değişiklik yapmadan derleyebildim, burada ve orada bir arama yolunu değiştirmek zorunda kaldım.

Not:
Burada kendi sorumu yanıtlamam garip görünebilir, ancak bu sorunu nasıl çözeceğimi tek başıma öğrendiğim için, bilgimi toplulukla paylaşmak istiyorum, çünkü bunun gerçekten değerli bir girdi olduğuna inanıyorum. dışarıdaki tüm MacOS geliştiricileri. Bu soru pek çok yerde çok kez soruldu ve şimdiye kadar hiç kimsenin benzer bir düzeltme bulduğunu görmedim. Zenginliği paylaşın, bilgiyi paylaşın vb. Ne demek istediğimi anlıyorsunuz.


Hala Sorunlarınız / Sorularınız Varsa:

Bu konuyla ilgili başka sorularınız varsa veya eski projelerinizi doğru bir şekilde oluşturmakta hala sorun yaşıyorsanız, lütfen Stack Overflow'un tasarlandığını yapın: Bu sayfanın sağ üst köşesindeki "Soru Sor" seçeneğine tıklayın ve yeni bir soru oluşturun . Bu şekilde, tüm topluluk bu sorunları çözmenize yardımcı olabilir, çünkü sorunlar doğrudan (hatta dolaylı olarak) bu hack ile ilgili olmayabilir.

Sorunuzun en başında bu hack'i uyguladığınızdan bahsetmenizi tavsiye ederim. Belki de bu soruya doğrudan bağlantı kurmak bile istiyorsunuz, böylece bu hack'i hiç duymamış insanlar kolayca arayabilir. Aksi takdirde, SDK 10.4 / 10.5, PPC veya GCC 4.0'dan Xcode4 ile birlikte bahsettiğinizde çoğu insanın kafası karışacaktır, ki bu ikisini de resmi olarak desteklememektedir. Bu saldırıdan bahsetmeyi unutursanız, makul cevaplar yerine oldukça aptalca yorumlar alabilirsiniz.

Lütfen sorularınızı veya sorunlarınızı yanıt olarak veya yorum olarak buraya göndermekten kaçının. Bunları yanıt olarak göndermek bir anlam ifade etmiyor çünkü bunlar yanıt değil ve insanların size yanıt vermesinin bir yolu yok, yorumları kullanmak dışında ve yorumlar, sorunuza makul bir yanıt vermek veya sizin için uygun bir çözüm için yeterli alan sunmayabilir. sorun. Ve bunları yorum olarak yayınlamak, çok az yeriniz olduğu anlamına gelir ve yorumların ağaç benzeri bir hiyerarşisi olmadığından yanıt yorumlarını takip etmek zor olacaktır (ayrıca, düzgün yanıtlar / çözümler için çok az yer sunacaklardır). Teşekkür ederim.

Tabii ki başka türden yorumlar ve orijinal soruya daha iyi yanıtlar her zaman memnuniyetle karşılanır ;-)


6
İşte bir olumlu oy. Xcode3'ün geri kalanını kaldırabilmek için muhtemelen eski SDK'ları ve derleyici dosyalarını yalnızca sembolik bağlantı kurmak yerine kopyalayacağım. Xcode4'ü sevdiğim için değil; sadece disk alanına ihtiyacım olduğu için. Teşekkürler!
Ivan Vučica

Bunu çalıştıramıyorum. Lütfen SO soruma bakın: stackoverflow.com/questions/5409860/…
paleozogt

Buna ek olarak, i686 hedefleri için gcc 4.0 derlemesi elde etmek için şunları yapmam gerekiyordu: sudo ln -s /Xcode3/usr/libexec/gcc/i686-apple-darwin10/4.0.1 / Developer / usr / libexec / gcc / i686-apple-darwin10 / sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/usr/lib/gcc/i686-apple-darwin10/4.0.1/ / Developer / usr / lib / gcc / i686- apple-darwin10 / sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/usr/lib/gcc/i686-apple-darwin10/4.0.1/ / usr / lib / gcc / i686-apple-darwin10 /
İşaretle Carey

2
Bu satır for SRC_FILE in /Xcode3/usr/bin/*4.0*; do sudo ln -s "$SRC_FILE" .; donebasitleştirilebilirsudo ln -s /Xcode3/usr/bin/*4.0* .
Adam Rosenfield

1
@cullub developer.apple.com adresine gidin, geliştirici kimliğinizle oturum açın, "SDK'lar" ı seçin, aşağı kaydırın ve "Xcode" u seçin, "İndir" i seçin, aşağı kaydırın ve "Ek Araçlar" ı seçin, "Xcode 3" arayın arama alanında.
Mecki

15

Yalnızca Xcode4 ile başka bir kolay yol, Xcode3 artık gerekli değildir.

$ sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /Developer/usr/libexec/gcc/darwin
$ sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /usr/libexec/gcc/darwin

DÜZENLEMELER:

Xcode 4.1 için,

sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /Developer/usr/libexec/gcc/darwin
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /usr/libexec/gcc/darwin
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-cpp-4.2.1 /usr/bin/powerpc-apple-darwin11-cpp-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-gcc-4.2.1 /usr/bin/powerpc-apple-darwin11-gcc-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-g++-4.2.1 /usr/bin/powerpc-apple-darwin11-g++-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-cpp-4.2.1 /Developer/usr/bin/powerpc-apple-darwin11-cpp-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-gcc-4.2.1 /Developer/usr/bin/powerpc-apple-darwin11-gcc-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-g++-4.2.1 /Developer/usr/bin/powerpc-apple-darwin11-g++-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/gcc/powerpc-apple-darwin10 /Developer/SDKs/MacOSX10.6.sdk/usr/lib/gcc

Gcc-4.2'yi yalnızca PowerPC için kullanabilirsiniz. Ve "-isysroot /Developer/SDKs/MacOSX10.6.sdk" seçeneği gereklidir, çünkü 10.7 SDK artık PowerPC'yi desteklemiyor.


3
LOL, bu nedenle Apple, iOS derleyicisinde PPC'yi destekler :-P Ancak, bunun yalnızca PPC uyumluluğunu geri yükleyeceğini, ancak SDK'ları veya GCC4.0 desteğini geri yüklemeyeceğini unutmamalısınız. Yine de olumlu oylamaya değer.
Mecki

Yukarıdakilerden çok hilekar ve daha basit, gereken mutlak minimum.
Diziet

Xcode 4.1'de PowerPC araç zincirini etkinleştirin . yalnızca gcc-4.2. "-İsysroot /Developer/SDKs/MacOSX10.6.sdk" seçeneğini gerektirir, çünkü 10.7 SDK artık PowerPC için başlıklara sahip değildir.
Kazuki Sakamoto

stackoverflow.com/questions/11989007 , 10.6 SDK'nın alınmasıyla ilgilidir. yani, Xcode 4.1'de
fommil

8

Bu sayfadaki, Mac OS X Hints, splhack.org ve burada belirtilen diğer kaynaklardaki tüm bilgileri bir araya topladım ve PPC ve GCC 4.0 desteğini geri yükleme sürecini otomatikleştiren bir dizi BASH komut dosyasını bir araya getirdim. XCode 3 kurulumu veya sadece XCode 4'ün kendi iPhone platform dosyaları.

Her zaman olduğu gibi dikkatli kullanın! ve lütfen herhangi bir düzeltme veya iyileştirmeye katkıda bulunun. Bu komut dosyaları, bu gönderi itibariyle yalnızca kendi sistemimde test edildi.

Bunları GitHub'dan indirebilirsiniz:


Vay canına, oldukça havalı :-) Ben de böyle bir senaryo yapmak istedim ama buna hiç zamanım olmadı. Bizimle paylaştığınız için teşekkürler.
Mecki

4

Gcc'nin komut satırından da çalışmasını istiyorsanız (yukarıdakilerin yanı sıra) ayrıca şunları yapmanız gerekir:

cd /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1
sudo mv as as.bak
sudo ln -s /Xcode3/usr/bin/as .

3

Bu, AppStore'dan Xcode 4.3.2 ile çalışır - her şeyin bir Uygulama paketinde bağımsız olduğu sürüm. Orijinal ipucunda olduğu gibi, önce Xcode 3.2.6'yı * kurun ve ardından Xcode 4'ü AppStore'dan indirin. Ardından aşağıdaki sembolik bağlantı sihrini yapın:

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
ln -s /Developer/Xcode3.2.6/SDKs/MacOSX10.5.sdk .
cd /Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/bin/
ln -s /Developer/Xcode3.2.5/usr/llvm-gcc-4.2/bin/powerpc-apple-darwin10-llvm-g* .
mv powerpc-apple-darwin10-llvm-gcc-4.2 powerpc-apple-darwin11-llvm-gcc-4.2
mv powerpc-apple-darwin10-llvm-g++-4.2 powerpc-apple-darwin11-llvm-g++-4.2

Son iki satır, symlink'te darwin10'u darwin11 olarak yeniden adlandırıyor - OS X'in gelecekteki sürümlerinin bunun uygun şekilde güncellenmesini gerektireceğini tahmin ediyorum.

  • Xcode 3.2.x'i Lion'a yüklemek için, Xcode disk görüntüsünü monte edin, Terminal'i açın, komutları girin (varsayılan kabuğunuzu değiştirdiyseniz bash veya eşdeğer komutları kullanarak):

    COMMAND_LINE_INSTALL = 1 open "/ Volumes / Xcode ve iOS SDK / Xcode ve iOS SDK.mpkg" dışa aktar

Ayrıca saati 31 Mart 2012'den önceki bir tarihe ayarlamanız gerekecektir, aksi takdirde güvenlik sertifikaları kurulum sırasında doğrulamayı geçemez. Açıkçası kurulumdan sonra tarihi tekrar güvenle değiştirebilirsiniz!


2

Birinin Xcode 4.3 ve 4.5'te eski SDK'ları ve PPC derleyicisini geri yüklemesi gerektiğinde, bu benim bulduğum bir betik. Komut dosyasının başında Xcode uygulama paketinin yolunu ve Xcode 3.2.6 kurulum yolunu ayarlamanız gerektiğini unutmayın.

#!/bin/bash

XCODE="/Applications/Xcode45-DP1.app"
XCODE3="/Xcode3"

# restore SDKs
cd "$XCODE/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs"
sudo ln -s "$XCODE3/SDKs/MacOSX10.4u.sdk" .
sudo ln -s "$XCODE3/SDKs/MacOSX10.5.sdk" . 
sudo ln -s "$XCODE3/SDKs/MacOSX10.6.sdk" . 

# restore gcc 4.0
cd "$XCODE/Contents/Developer/usr/bin"
sudo ln -s "$XCODE3/usr/bin/"*4.0* .
sudo ln -s "powerpc-apple-darwin10-g++-4.0.1" "powerpc-apple-darwin11-g++-4.0.1"
sudo ln -s "powerpc-apple-darwin10-gcc-4.0.1" "powerpc-apple-darwin11-gcc-4.0.1"

# restore Xcode option
cd "$XCODE/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins"
sudo ln -s "$XCODE3/Library/Xcode/Plug-ins/GCC 4.0.xcplugin" . 

Xcode 4.3 ile birlikte geldiği için kullanıyorsanız 10.6 SDK sembolik bağlantı kurmanıza gerek yoktur.

Ayrıca komut dosyası gcc 4.2'yi geri yüklemez çünkü bunu yapan birçok dosya adı çakışması vardır. Amacım PPC derleyicisini geri yüklemek ve 4.0 benim için yeterince iyi.


2

Frédéric Devernay'in xcodelegacy adlı bir GitHub projesi var, bu benim için Xcode 5.1.1'de harika çalışıyor ve devam ettirmek için çok az çalışma, sadece biraz indirme.

Projesini kullanarak, hepsi Yosemite üzerinde çalışan Xcode 5.1.1 içinden GCC 4.0 kullanarak 10.4 SDK ile derlenmiş hem ppc hem de i386 mimarilerini içeren evrensel ikili dosyalar oluşturmayı başardım.

Oluşturulan evrensel ikili dosyaların 10.5 Leopard ve Yosemite üzerinde sorunsuz çalıştığını kendime doğruladım.

Ana sayfa burada: http://devernay.free.fr/hacks/xcodelegacy

Git hub projesi buraya: https://github.com/devernay/xcodelegacy


1

Bu dosyaları yalnızca bir XCode 4 uygulamasına yüklemek için bir pakete sahip olmak faydalı olacaktır. (veya bir tarball).

Bilginize: Xcode3'ün 3.2.6'sı, ppc mimarisinde olduğu gibi bir şey içermiyor. Ama bilgisayarımda bir Leopard yedeği vardı. Ben de onu kopyaladım, işe yarıyor gibi görünüyor. (/ Usr / libexec / gcc / darwin / ppc / as kullanın).

Hem gcc'nin hem de açık kaynak olduğunu düşünürsek, yeniden dağıtılamayan tek şey xcode eklentisi ve 10.4 SDK değil mi?


Lisans konusunda uzman değilim; "as -v", "Apple Inc sürüm cctools-795 ~ 45, GNU assembler sürüm 1.38" der, ancak, Apple "as" kaynak kodunu değiştirmiş olsa bile, yine de GPL (değiştirilmiş GPL kodu otomatik olarak GPL kodu tekrar), bu nedenle GPL bunu yapmanıza izin veriyorsa, iyi olmalısınız.
Mecki

Tamam, sanırım neden "as" ı değiştirmemiz gerektiğine dair gerekçem yanlıştı. Xcode 3.2.6'nın "as" ı da işe yarıyor gibi görünüyor, bu sadece Intel olmasına rağmen, ancak yine de ppc montaj çıktısı oluşturabiliyor gibi görünüyor. İlk cevabımı düzelteceğim. Bunu işaret ettiğiniz için teşekkürler!
Mecki

Aslında en azından komut satırından değil. Leopard desteğimi yakalayana kadar şikayet etmeye devam etti.
Jason Kenney
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.