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?

trapper
  • 11,716
  • 7
  • 38
  • 82

1 Answers1

1

From the clang manpage:

-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).

From this stackoverflow answer:

The non-fragile ABI refers to the ability to add instance variables to a class without requiring recompilation of all subclasses.

I.e. in v1 (there really aren't true versions of ObjC), if Apple were to add an instance variable to, say, NSView (on Cocoa, 32 bit), then every subclass of NSView (or subclass of subclass) would have to be recompiled or they would blow up. v2 and v3 fix this.

So it looks to me like you want to remove the option and recompile everything.

Community
  • 1
  • 1
trojanfoe
  • 120,358
  • 21
  • 212
  • 242