Xcode 4.4 clang错误:链接器失败

时间:2012-07-27 08:08:27

标签: xcode linker

今天升级到Mountain Lion和Xcode 4.4后,我的一个项目不再编译。我已经验证它在Xcode 4.3上仍然可以正常编译。这是我得到的输出 - 任何想法?

Ld "/Users/Adam/Library/Developer/Xcode/DerivedData/Home_Loan_Finder-ciynsbeemzwbzhenhqlhhzbsgebo/Build/Products/Debug-iphonesimulator/Home Loan Finder.app/Home Loan Finder" normal i386
    cd "/Users/Adam/Aspyre/Code/Projects/Binary/Home Loan Finder"
    setenv MACOSX_DEPLOYMENT_TARGET 10.6
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -L/Users/Adam/Library/Developer/Xcode/DerivedData/Home_Loan_Finder-ciynsbeemzwbzhenhqlhhzbsgebo/Build/Products/Debug-iphonesimulator -F/Users/Adam/Library/Developer/Xcode/DerivedData/Home_Loan_Finder-ciynsbeemzwbzhenhqlhhzbsgebo/Build/Products/Debug-iphonesimulator "-F/Users/Adam/Aspyre/Code/Projects/Binary/Home Loan Finder/../../../SDKs" -filelist "/Users/Adam/Library/Developer/Xcode/DerivedData/Home_Loan_Finder-ciynsbeemzwbzhenhqlhhzbsgebo/Build/Intermediates/Home Loan Finder.build/Debug-iphonesimulator/Home Loan Finder.build/Objects-normal/i386/Home Loan Finder.LinkFileList" -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50100 -framework CoreGraphics -framework Foundation -framework UIKit -framework MessageUI -framework CoreData -framework ShinobiCharts -framework OpenGLES -framework QuartzCore -framework Security -o "/Users/Adam/Library/Developer/Xcode/DerivedData/Home_Loan_Finder-ciynsbeemzwbzhenhqlhhzbsgebo/Build/Products/Debug-iphonesimulator/Home Loan Finder.app/Home Loan Finder"

0  0x103ced280  __assert_rtn + 144
1  0x103d43877  ld::tool::OutputFile::addressOf(ld::Internal const&, ld::Fixup const*, ld::Atom const**) + 215
2  0x103d4512c  ld::tool::OutputFile::applyFixUps(ld::Internal&, unsigned long long, ld::Atom const*, unsigned char*) + 300
3  0x103d46a6d  ld::tool::OutputFile::writeAtoms(ld::Internal&, unsigned char*) + 621
4  0x103d42c14  ld::tool::OutputFile::writeOutputFile(ld::Internal&) + 564
5  0x103d3d963  ld::tool::OutputFile::write(ld::Internal&) + 147
6  0x103ced8ef  main + 1263
7  0x103cdc234  start + 52
A linker snapshot was created at:
    /tmp/Home Loan Finder-2012-06-27-140754.ld-snapshot
ld: Assertion failed: (_mode == modeFinalAddress), function finalAddress, file /SourceCache/ld64/ld64-133.3/src/ld/ld.hpp, line 657.
clang: error: linker command failed with exit code 1 (use -v to see invocation)

3 个答案:

答案 0 :(得分:2)

我现在正在研究这个问题。

我们很确定这是因为当前的框架是使用Xcode 4.3构建的,而4.4编译器并没有正确地将所有内容链接在一起。

解决方案似乎只是简单地在Xcode 4.4中构建框架 - 我们现在正在审查这个框架,并且应该很快就会更新框架!

完全披露:我在ShinobiCharts工作ShinobiControls。

编辑:现在可以使用新版本的ShinobiCharts,并修复了这些问题。

答案 1 :(得分:1)

对于那些使用ShinobiCharts.framework的人:在Shinobi类上创建一个类别会导致这样的错误。作为一种解决方法,您可以使用继承替换类别(这可能非常痛苦)。

答案 2 :(得分:0)

为了解释这一点,解决方法是将“条形样式”从“所有符号”更改为“非全局符号”,允许全局符号用于类别。

完全披露:我也为ShinobiControls工作!