4

Xcodeを最新バージョンに更新しましたが、既存のプロジェクトをコンパイルしようとすると、奇妙なコンパイラエラーが発生します。これは、変更が必要なビルド設定であると思いますが、どこで解決することはできません。

Apple LLVM Compiler 4.1 error
clang: error: the clang compiler does not support '-fobjc-abi-version=0'
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

これは何を意味するのでしょうか?

4

1 に答える 1

1

clangのマンページから:

-fobjc-abi-version=version
           Select the Objective-C ABI version to use. Available versions are 1
           (legacy "fragile" ABI), 2 (non-fragile ABI 1), and 3 (non-fragile
           ABI 2).

このstackoverflowの答えから:

非脆弱なABIは、すべてのサブクラスの再コンパイルを必要とせずに、インスタンス変数をクラスに追加する機能を指します。

つまり、v1(実際にはObjCの真のバージョンはありません)では、Appleがインスタンス変数をたとえばNSView(Cocoa、32ビット)に追加する場合、NSViewのすべてのサブクラス(またはサブクラスのサブクラス)は次のようにする必要があります再コンパイルしないと、爆発します。v2とv3はこれを修正します。

したがって、オプションを削除してすべてを再コンパイルしたいように見えます。

于 2012-10-15T06:39:46.593 に答える