Xcode 4.4铛错误:连接器失败
问题描述:
今天升级到山狮和Xcode 4.4后,我的一个项目不再编译。我已经验证它在Xcode 4.3上仍然可以编译。这是我得到的输出 - 有什么想法?Xcode 4.4铛错误:连接器失败
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类上创建一个类别会导致这样的错误。作为一种解决方法,您可以用继承替换类别(这可能会非常痛苦)。
+0
我发现类别也是问题。 – sammyd 2012-07-27 14:04:54
答
我正在查看此刻。
我们确信这是因为当前的框架是使用Xcode 4.3构建的,4.4编译器没有正确地将所有内容链接在一起。
该解决方案似乎只是在Xcode 4.4中构建框架 - 我们现在正在审查这个框架,并且应该尽快更新框架!
完整披露:我为ShinobiCharts的ShinobiControls工作。
编辑:ShinobiCharts的新版本现已推出,修复了这些问题。
答
为了说明这一点,修复方法是将“条样式”从“所有符号”更改为“非全局符号”,从而允许在类别中使用全局符号。
完全披露:我也为ShinobiControls工作!
看起来你在链接器中发现了一个错误。搜索'clang'的bug跟踪器并在那里添加一个bug报告。 – 2012-07-27 08:12:08
同样的问题,当我创建了一类第三方框架(ShinobiCharts)时 – vokilam 2012-07-27 09:26:07
有趣 - 我也在用ShinobiCharts – 2012-07-27 09:57:40