3

一部の古いコードには、Xcode 4.2 で gcc 4.2 を使用する必要があります。どうすれば表示されるようになりますか。Xcode4.2 ではサポートが終了したようです。

ありがとう

4

4 に答える 4

4

xcode 4.2でgcc 4.2での コンパイルを有効にする方法を次に示します。これは主にコマンド ライン経由で行われるため、: で始まる行が表示されたら、 Terminal.appを開いて.の後に始まるコマンドを実行する必要があります。[ 15:30 jon@MacBookPro / ]$$

このプロセスではファイルやディレクトリが削除されたり削除されたりしないため、将来 LLVM でコンパイルする必要がある場合に簡単に元に戻すことができます。

  1. ダウンロード - ただし、まだインストールしないでください- xcode_4.1_for_lion.dmgまたはxcode_4.1_for_snow_leopard.dmg

  2. 次の手順に従って、Xcode 4.1 を にインストールします/Developer-4.1

    1. /Developer作業ディレクトリ (Xcode 4.2 がインストールされている場所) をバックアップします。

    2. [ 15:30 jon@MacBookPro / ]$ sudo mv -v /Developer /Developer-4.2
      
    3. デフォルトのインストール場所を使用して Xcode 4.1 インストーラーを実行します ( /Developer)

    4. 新しい Xcode 4.1 インストールを次の場所に移動します/Developer-4.1

      [ 15:30 jon@MacBookPro / ]$ sudo mv -v /Developer /Developer-4.1
      
    5. Xcode 4.2 開発者ディレクトリを次の場所に戻します/Developer

      [ 15:30 jon@MacBookPro / ]$ sudo mv -v /Developer-4.2 /Developer
      
  3. Xcode 4.2GCC 4.2.xcspecファイルを編集して、コンパイラ オプションのリストに gcc 4.2 が表示されるようにします[1]

    [ 15:30 jon@MacBookPro / ]$ sudo vi "/Developer/Library/Xcode/PrivatePlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/GCC 4.2 (Plausible Blocks).xcplugin/Contents/Resources/GCC 4.2.xcspec"
    
    • 41行目と42行目を次のように変更します。

      ShowInCompilerSelectionPopup = NO;
      IsNoLongerSupported = YES;
      
    • これに:

      ShowInCompilerSelectionPopup = YES; 
      IsNoLongerSupported = NO;
      
  4. Xcode 4.2 iOS/Simulator Frameworkusrディレクトリをバックアップします。

    [ 15:30 jon@MacBookPro / ]$ sudo mv -v /Developer/Platforms/iPhoneOS.platform/Developer/usr /Developer/Platforms/iPhoneOS.platform/Developer/usr.backup
    [ 15:30 jon@MacBookPro / ]$ sudo mv -v /Developer/Platforms/iPhoneSimulator.platform/Developer/usr /Developer/Platforms/iPhoneSimulator.platform/Developer/usr.backup
    
  5. Xcode 4.1 iOS/Simulator Frameworkusrディレクトリを Xcode 4.2 にコピーします。

    [ 15:30 jon@MacBookPro / ]$ sudo cp -rv /Developer-4.1/Platforms/iPhoneOS.platform/Developer/usr /Developer/Platforms/iPhoneOS.platform/Developer/usr
    [ 15:30 jon@MacBookPro / ]$ sudo cp -rv /Developer-4.1/usr /Developer/Platforms/iPhoneSimulator.platform/Developer/usr
    
  6. gccおよびinfoiOS SDK ライブラリ ディレクトリを Xcode 4.1 から Xcode 4.2 にコピーします[2] :

    [ 15:30 jon@MacBookPro / ]$ sudo cp -rv /Developer-4.1/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/gcc /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/lib/gcc
    [ 15:30 jon@MacBookPro / ]$ sudo cp -rv /Developer-4.1/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/info /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/lib/info
    
  7. gcc-4.2 を使用してコンパイルしてください!

    xcode 4.2 での CGG 4.2 のスクリーンショット

これは、このプロセスについてもう少し詳しく書いたブログ投稿です。問題が発生した場合や質問がある場合は、お気軽にブログにコメントを残してください。


[1]コマンド ラインから ( 、、、などviを使用して) 開く場合は、パスを引用符で囲むか、スペースをエスケープしてください。emacsnano"/long path/with spaces/in it/file.xcspec"/some/long\ path/with\ spaces/in\ it/file.xcspec

[2] iPhoneOS.platform SDK には独自の個別の/usr/libディレクトリがありますが、iPhoneSimulator.platform SDK にはないため、これが必要です。

于 2011-10-16T18:36:10.873 に答える
1

したがって、gcc 4.2 を Xcode 4.2 (非 iOS) の新規インストールで動作させるための完全なプロセスは次のとおりです。

  1. gcc 4.2 をインストールします。

    sudo port install apple-gcc42
    
  2. Xcode 4.2 GCC 4.2.xcspec ファイルを編集して gcc 4.2 をコンパイラ オプションのリストに表示することにより、gcc 4.2 がコンパイラ オプションとして表示されるように Xcode を微調整します。

    1. 編集用に xcspec ファイルを開きます。

      sudo vi "/Developer/Library/Xcode/PrivatePlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/GCC 4.2.xcplugin/Contents/Resources/GCC 4.2.xcspec"
      
    2. 41 行目と 42 行目を次のように変更します。

      ShowInCompilerSelectionPopup = NO;
      IsNoLongerSupported = YES;
      

      これに:

      ShowInCompilerSelectionPopup = YES;
      IsNoLongerSupported = NO;
      
  3. Xcode が期待する場所に gcc 4.2 バイナリをリンクします。

    sudo ln -s /opt/local/bin/gcc-apple-4.2 /Developer/usr/bin/gcc-4.2
    sudo ln -s /opt/local/bin/g++-apple-4.2 /Developer/usr/bin/g++-4.2
    

このブログ投稿で問題と回避策を説明しました。これは、私が見つけた情報を要約したものです。お気軽にコメントください。

于 2012-01-11T16:06:30.203 に答える
1

これを共有してくれてありがとう!半日ほど苦労しましたが、最終的には、目標を達成するために必要な手順はわずかであることがわかりました。

アプリをコンパイルするために GCC-4.2 だけが必要な場合(iOS のものは必要ありません) は、非常に簡単です。何もインストールする必要はなく、次のいくつかの手順に従うだけです。

  1. 編集: GCC 4.2 をまだインストールしていない場合 (以前のバージョンの Xcode から、または手動でインストールした場合)、コメントの Sean DeNigris の指示に従ってください。

  2. 元の説明の手順 3 に従い
    ます。Xcode 4.2 GCC 4.2.xcspec ファイルを編集して、コンパイラ オプションのリストに gcc 4.2 が表示されるようにします。

  3. Xcode が再びコンパイラを検出するようにします。

    ln -s /usr/bin/gcc-4.2 /Developer/usr/bin/gcc-4.2

  4. また、リンカーを利用可能にします。

    ln -s /usr/bin/g++-4.2 /Developer/usr/bin/g++-4.2

これは私にとって完璧に機能します!しかし、私が言ったように、それは iOS 以外の製品専用です!

于 2011-12-21T17:26:35.393 に答える
0

シンプルで便利なソリューションhttps://github.com/kennethreitz/osx-gcc-installer/スタックオーバーフロー の宣言のリストを自動化します

于 2012-02-17T10:13:25.683 に答える