簡単な答えは次のとおりです。はい、できます。
「それがどのように行われるか」の部分に入る前に、ここに私のパッチ/ハック/修正に関するいくつかのメモがあります。当初からの主な目標は次のとおりです。
すべての変更を最小限に抑えます。
Xcodeの設定をできるだけオリジナルにしたいと考えています。
必ず、ファイルへのパッチの適用や変更を避けてください。
すべてのファイルに手を付けずに、元のコンテンツを保持してください。
どうしても必要な場合を除いて、ファイルの移動やコピーは避けてください。
私はそれらすべての目標を維持することができました。ほとんどすべてがシンボリックリンクを作成することによって行われます。置き換える必要があるのは既存のシンボリックリンクが1つだけであり、念のため、置き換える前にバックアップします。
端末操作の専門家でない場合は、タイプミスを避けるために、私の返信からすべての端末コマンドを端末にコピーして貼り付けることを強くお勧めします。間隔、引用符、特に大文字の使用も重要になる可能性があることに注意してください。それらを1行ずつコピー/貼り付けします。一度に1行を超えないようにし、貼り付けられた各行の後でReturnキーを押してコマンドを実行します。何らかの操作でパスワードの入力を求められた場合、これは現在ログインしている管理者ユーザーのパスワードになります(入力中にキーストロークは表示されませんが、これは正常です。心配しないで、パスワードを入力し続けてReturnキーを押してください。re -タイプミスがあった場合は、もう一度試してみてください)。
前提条件
開始する前に、次の条件が満たされていることを確認してください。
- 管理者ユーザーとしてログインしています。
- Terminal.app(アプリケーション/ユーティリティ)を起動し、ターミナルウィンドウを開きます。
- Xcode3(例:3.2.5)およびXcode4ディスクイメージ(DMG)のコピーまたはインストーラーが利用可能です。
- Xcodeのいずれかのバージョンが既にインストールされている場合は、最初にアンインストールすることを検討してください。そうすれば、新しいクリーンなセットアップから始めることができます。Xcodeをアンインストールしても、設定、配色、キーバインドのカスタマイズは削除されません。Xcodeバージョン(3でも4でもない)が現在インストールされていないシステムから始めるのが理想的です。
ステップ1:Xcode3のインストール
重要:Xcode3の「システムツール」または「Unix開発」パッケージをインストールしないでください。
「Mac OS X 10.4 SDK」または「ドキュメント」をインストールするかどうか」のです。それがiOS SDKを備えたXcode3である場合、それらをインストールするかどうかもあなた次第です。
インストール先のフォルダは自由に選択できます。このガイドでは、 " / Xcode3」を選択しましたが、別のものを選択しても。それに応じて、すべての端末コマンドを必ず変更してください。
ここに記載されている手順の順序は通常それほど重要ではありませんが、手順1と手順2を入れ替えないことを強くお勧めします。Xcodeは常に、選択した宛先フォルダーの外部にいくつかのファイルをインストールし、最終的には信頼します。ディスク上のこれらのファイルのXcode4バージョン。Xcode4の前にXcode3をインストールすると、必要に応じてXcode4がこれらのファイルを確実に上書きするようになります。手順1と2を一度入れ替えると、結局、間違った順序に関連していると思われるかなり奇妙な問題が発生しました(確かに言うことはできませんが、正しい順序で再インストールした後、問題はなくなりました)。
ステップ2:Xcode4のインストール
好きなパケットを選んでください。「システムツールのインストール」をことをお勧めしが、厳密に必要というわけではありません(ほとんどの人は遅かれ早かれその機能を見逃すでしょう)。
繰り返しますが、好きなターゲットフォルダを自由に選択してください。このガイドでは、通常のターゲットフォルダーを選択しました " / Developer」を選択しました。別のする場合は、それに応じてすべてのターミナルコマンドを変更してください。
ステップ3:10.4 / 10.5 SDKサポートの復元
ターミナルウィンドウに切り替えて、次のコマンドを実行します。
cd / Developer / SDKs
sudo ln -s /Xcode3/SDKs/MacOSX10.4u.sdk。
sudo ln -s /Xcode3/SDKs/MacOSX10.5.sdk。
もちろん、ステップ1でSDK 10.4もインストールした場合は、10.4uに対してのみコマンドを実行します。
これは、SDK 10.5(場合によっては10.4)をXcode4の選択リストに戻すのに十分です。よろしければ試してみてください。Xcode4を起動し、プロジェクトを開いて、選択したSDKを変更してみてください。それは簡単でしたね?次の手順に進む前に、必ずXcode4(ウィンドウだけでなくアプリケーション)を必ず閉じてください。
ステップ4:GCC 4.0サポートの復元
MacOS 10.4 SDKをインストールしていない場合、または使用する予定がない場合は、この手順をスキップして、手順5に進んでください。
SDK 10.4を使用するには、GCC 4.0を使用する必要があります。GCC4.2は機能しません。Appleは、GCC 4.2はSDK 10.4と互換性がないと言っていますが、私に尋ねれば、これはデマです。私はすでにこの制限を複数回上書きしており、それが原因で最も小さな問題が発生することはありませんでした。XcodeでGCC 4.2を使用できるようにSDK 10.4を変更するのは簡単ですが、私の目標はすべてのファイル変更を回避することでしたので、GCC 4.0のサポートをXcodeに追加するだけです。これもまた良いことです。一部のプロジェクトは本当にGCC 4.0に依存しています(たとえば、GCC 4.2には、有効なインラインアセンブリコードをエラーなしでコンパイルできないバグがありますが、同じコードがGCC 4.0およびGCC 4.4で問題なくコンパイルされます)。
ターミナルに戻る:
cd / Developer / 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。
現在、GCC 4.0がXcode4で選択できないという事実を除いて、GCC 4.0の完全なサポートを復元しました。これは、Xcode4にGCC 4.0コンパイラプラグインがなくなったためです。幸い、Xcode3プラグインはXcode4でも動作しますが、位置だけが根本的に変更されています。Appleはこれらのプラグインをバンドルの奥深くに隠し、そこにあるプラグインのみが機能するようで、それらを古い位置に配置しても効果がないようです。
cd / Developer / Library / Xcode / PrivatePlugIns
cd Xcode3Core.ideplugin / Contents / SharedSupport / Developer / Library / Xcode / Plug-ins
sudo ln -s "/ Xcode3 / Library / Xcode / Plug-ins / GCC 4.0.xcplugin"。
Xcode4を再度起動し、プロジェクトを開いてコンパイラを選択してみます。GCC 4.0をリストに戻す必要があります。これで、SDK 10.4または10.5、GCC 4.0を実際に選択できるようになり、PPCバイナリをビルドしても問題はありません。「アーキテクチャ」のビルド設定で「その他...」を選択し、手動で「ppc」と入力してから、「有効なアーキテクチャ」を変更して「ppc」も含めるようにします。GCC 4.2とSDK 10.5を使用してPPCバイナリをビルドしようとしても失敗することを除いて、ほぼ完了です。
ステップ5:GCC 4.2のPPCサポートの復元
AppleはXcode4のIntelプラットフォームのみをサポートしているため、すべてのGCC 4.2ツールがPPCサポートでビルドされているわけではありません。PPCをサポートしていない重要なツールが1つあります。このツールの名前は「as」で、これはGNUアセンブラーです。GPC 4.2でppc / ppc64バイナリをコンパイルするには、ppc / ppc64をサポートする " as "バージョンを使用する必要があります。これは、シンボリックリンクで置き換える前に、最初に脇に移動する(バックアップコピーを作成する)唯一のファイルです(実際にはシンボリックリンクでもあります)。
cd /Developer/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1
sudo mv as as.bak
sudo ln -s / Xcode3 / usr / bin / as。
ステップ6:ステップ6はありません
それはすべての人々です。それがどれほど簡単であったかを考えると、AppleがSDK 10.4 / 10.5、ppc / ppc64、またはGCC 4.0のサポートを欠かさなかったことは想像に難くありません。
この設定が私と同じように機能することを願っています。私はすべての古いプロジェクトをXcode4でコンパイルできましたが、検索パスをあちこちに変更する必要があることを除いて、大きな変更はありません。
PS:
私がここで自分の質問に答えるのは奇妙に見えるかもしれませんが、この問題を自分で解決する方法を私が見つけたので、コミュニティに知識を共有したいと思います。これは、すべてのMacOS開発者がいます。この質問は非常に多くの場所で何度も尋ねられており、これまでのところ、同様の修正を考えている人を見たことはありません。富を共有し、知識を広めるなど、あなたは私の意味を知っています。
それでも問題/質問がある場合:
このトピックに関して追加の質問がある場合、または古いプロジェクトを正しくビルドするのに問題がある場合は、Stack Overflowの設計に従ってください。このページの右上隅にある[Ask Question]をクリックして、新しい質問を作成してください。そうすれば、コミュニティ全体がこれらの問題を解決するのに役立ちます。問題がこのハックに直接(間接的にさえ)関係しているとは限らないためです。
質問の最初にこのハックを適用したという事実について言及することをお勧めします。たぶん、あなたはこの質問に直接リンクして、このハックを聞いたことがない人でも簡単に調べられるようにしたいと思うかもしれません。そうしないと、SDK 10.4 / 10.5、PPC、またはGCC 4.0とXcode4の組み合わせについて言及したときに、ほとんどの人がかなり混乱します。このハックについて言及し忘れた場合、まともな返信ではなく、ばかげたコメントが返される可能性があります。
質問または問題を返信またはコメントとしてここに投稿しないでください。それらは返信ではなく、他の人があなたに返信する方法がなく、コメントを使用する方法がないため、それらを返信として投稿しても意味がありません。コメントは、質問に対する適切な返信や適切な解決策を提供するための十分な余地を提供しない場合があります問題。コメントとして投稿することは、ごくわずかなスペースに制限されることを意味します。コメントにはツリーのような階層がないため、返信コメントの追跡は難しくなります(さらに、適切な返信/ソリューションのための小さなスペースを提供します)。ありがとうございました。
もちろん、他の種類のコメントや元の質問へのより良い返信はいつでも歓迎です;-)