Xcode 4.4 clang错误:链接器失败

Xcode 4.4 clang错误:链接器失败,xcode,linker,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 Fi

今天升级到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)

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

我现在正在研究这个问题

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

解决方案似乎只是在Xcode 4.4中构建框架——我们目前正在审查这一点,应该很快更新框架

完全披露:我为Shinobic工作,控制Shinobic图表


编辑:新版本的ShinobiCharts现已面世,这些问题已得到解决。

为了阐明这一点,修复方法是将“条形样式”从“所有符号”更改为“非全局符号”,允许在类别中使用全局符号


充分披露:我也为Shinobic工作

看起来您在链接器中发现了一个bug。搜索
clang
的bug跟踪器,并在那里添加bug报告。同样的问题,当我创建了一类第三方框架(ShinobiCharts)的类别时,我也在使用Shinobichartso,结果发现删除ShinobiCharts类别也解决了我的问题。如果您将此作为答案发布,我将接受。我发现类别也是问题所在。我们目前正在测试下一个版本,该版本修复了此问题(以及其他一些小问题)。现在应该不会太久了。@sciasxp如果您已经购买了该组件,请给我们发送电子邮件。我们还重新设置了试用框架,以便试用中的任何人都可以下载另一个以继续评估:)@SimonWithington您可以分享有关如何修复ShinobiCharts.framework的详细信息吗?我自己的iOS库也遇到了同样的问题。