iOS 6.0苹果LLVM编译器4.1错误

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

这是什么意思?
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修复了这个问题。

所以看起来你想删除该选项并重新编译所有内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接