5

instancetypeLion にアップグレードできない古いコンピュータを使用していますが、Objective-C リテラルなどの構文を利用しながらコーディングに使用したいと考えています。古い Xcode で使用する新しい Clang と LLVM をコンパイルして成功した人はいますか?

4

1 に答える 1

9

最新の LLVM/Clang バージョンを使用するには、さまざまな方法があります。

(1)上記のコメントで説明されているプラ​​グイン。例 : http://blog.wadetregaskis.com/tot-clang-llvm-in-xcode/

リンクされたブログ投稿で指摘されているように、Xcode は古いバージョンの libclang を使用しているため、Xcode のリアルタイム構文チェックからエラー/警告が表示される場合があります (詳細は (3) を参照)。うまくコンパイルできる可能性は高いですが、ソース コードの編集はあまり楽しくありません。

CC(2)フラグを介してコンパイラを設定します。これはおそらく最も簡単で最速の解決策であり、設定は 1 つのプロジェクトにのみ影響します。プロジェクトのビルド設定に移動し、[ビルド設定の追加] -> [ユーザー定義設定の追加] (Xcode 5 では、これは [エディター] メニューに隠されています) を選択し、名前を付けてCC、Clang のバージョンのパスに値を設定します。 . 私にとってはうまくいきましたが、(1)と同様に、特にリテラルなどの新しい構文を使用したり、古いバージョンが理解できない警告のフラグを渡したりする場合は、ライブエラーレポートと競合する可能性があります.

(3)コンパイラを交換します。ファイルを置き換える前に、ファイルを必ずバックアップしてください。Clang バイナリと libclang.dylib の 2 つのファイルを置き換える必要があります。/Applications/Xcode.app/-> Option-Click -> "Show Package Contents" ->に移動し/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usrます。clang は にあり/bin、libclang.dylib は にあり/libます。

どちらのバイナリも、ソースからコンパイルするか (もちろん、より新しいバージョンが得られます)、最新の Xcode パッケージからコピーすることができます。カスタマイズしたバージョンの libclang を使用して問題が発生しましたが、問題はそこでの変更が原因であると思われます。不確かな場合は、新しい Xcode バージョンの libclang を使用してください。

注:私の変更した libclang バイナリは ARC を使用しているため、ガベージ コレクションで実行される Xcode 4 とは互換性がありません。Xcode 5 自体は ARC を使用しているため、問題は解消されました。libclang を変更せずにコンパイルすると、Xcode 4 または 5 で問題が発生することはありません。

于 2013-04-28T17:37:57.603 に答える