Skip to content

Commit

Permalink
Compile under Xcode 8 beta 1
Browse files Browse the repository at this point in the history
Sets "Use Legacy Swift Language Version" to YES, i.e., `SWIFT_VERSION = 2.3`.

This change alone causes the following linker error:

    duplicate symbol __non_lazy_classes in:
        /Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/lib/arc/libarclite_macosx.a(arclite.o)
        /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a(arclite.o)
    duplicate symbol _OBJC_METACLASS_$___ARCLite__ in:
        /Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/lib/arc/libarclite_macosx.a(arclite.o)
        /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a(arclite.o)
    ld: 2 duplicate symbols for architecture x86_64

This appears to be caused by the "Implicitly Link Objective-C Runtime
Support" build setting (a.k.a. `CLANG_LINK_OBJC_RUNTIME`). Disabling
just this setting doesn't resolve the error, but disabling the
project-level ARC setting does resolve the linker error. As a result the
`-fobjc-arc` compiler flag has to be set on each Objective-C file to
ensure it is compiled with ARC enabled.
  • Loading branch information
sharplet committed Jun 16, 2016
1 parent 7979ddb commit 4e4623b
Showing 1 changed file with 73 additions and 69 deletions.
Loading

0 comments on commit 4e4623b

Please sign in to comment.