4

Updated Xcode to latest version and now getting a strange compiler error when I try to compile my existing project. I assume this is some build setting which needs changing but can't work out where.

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

What does this mean?

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答案

non-fragile ABI 是指将实例变量添加到类而不需要重新编译所有子类的能力。

即在 v1 中(实际上没有真正的 ObjC 版本),如果 Apple 要向 NSView(在 Cocoa 上,32 位)添加一个实例变量,那么 NSView 的每个子类(或子类的子类)都必须重新编译,否则它们会爆炸。v2 和 v3 解决了这个问题。

因此,在我看来,您想删除该选项并重新编译所有内容。

于 2012-10-15T06:39:46.593 回答