我一直在搜索SO和Google,但还没有发现任何有用的信息。
我们正在更新现有的iOS项目,以针对iOS 5进行构建。
我们的项目有两个目标,第一个是我们的静态库,第二个是单元测试应用程序(GHUnit)。
在构建单元测试目标时,它可以成功编译静态库,但是无法通过以下输出链接到该静态库:
Ld /Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Products/Debug-iphonesimulator/UnitTests.app/UnitTests normal i386
cd /Users/XXXXXX/Documents/iOS/trunk
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Products/Debug-iphonesimulator -F/Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Products/Debug-iphonesimulator -F/Users/XXXXXX/Documents/iOS/trunk -F/Users/XXXXXX/Documents/iOS/trunk/UnitTests -filelist /Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Intermediates/XXXXXXLibrary.build/Debug-iphonesimulator/UnitTests.build/Objects-normal/i386/UnitTests.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -ObjC -all_load -Wl -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -framework SystemConfiguration -framework CoreLocation -framework CoreData /Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Products/Debug-iphonesimulator/XXXXXX.a -framework GHUnitIOS -framework CoreGraphics -framework Foundation -framework UIKit -o /Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Products/Debug-iphonesimulator/UnitTests.app/UnitTests
Undefined symbols for architecture i386:
"_llvm_gcda_start_file", referenced from:
___llvm_gcov_writeout in XXXXXX.a(NSObject+SBJSON.o)
___llvm_gcov_writeout in XXXXXX.a(NSString+SBJSON.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonBase.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonParser.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonWriter.o)
___llvm_gcov_writeout in XXXXXX.a(XXXXXXReachability.o)
___llvm_gcov_writeout in XXXXXX.a(XXXXXX.o)
...
"_llvm_gcda_emit_function", referenced from:
___llvm_gcov_writeout in XXXXXX.a(NSObject+SBJSON.o)
___llvm_gcov_writeout in XXXXXX.a(NSString+SBJSON.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonBase.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonParser.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonWriter.o)
___llvm_gcov_writeout in XXXXXX.a(XXXXXXReachability.o)
___llvm_gcov_writeout in XXXXXX.a(XXXXXX.o)
...
"_llvm_gcda_emit_arcs", referenced from:
___llvm_gcov_writeout in XXXXXX.a(NSObject+SBJSON.o)
___llvm_gcov_writeout in XXXXXX.a(NSString+SBJSON.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonBase.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonParser.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonWriter.o)
___llvm_gcov_writeout in XXXXXX.a(XXXXXXReachability.o)
___llvm_gcov_writeout in XXXXXX.a(XXXXXX.o)
...
"_llvm_gcda_end_file", referenced from:
___llvm_gcov_writeout in XXXXXX.a(NSObject+SBJSON.o)
___llvm_gcov_writeout in XXXXXX.a(NSString+SBJSON.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonBase.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonParser.o)
___llvm_gcov_writeout in XXXXXX.a(SBJsonWriter.o)
___llvm_gcov_writeout in XXXXXX.a(XXXXXXReachability.o)
___llvm_gcov_writeout in XXXXXX.a(XXXXXX.o)
...
"_llvm_gcda_increment_indirect_counter", referenced from:
-[SBJsonParser scanValue:] in XXXXXX.a(SBJsonParser.o)
-[SBJsonParser scanRestOfString:] in XXXXXX.a(SBJsonParser.o)
-[SBJsonWriter appendString:into:] in XXXXXX.a(SBJsonWriter.o)
-[XXXXXX loginSuccessfulCallback:XXXXXXHttpResult:] in XXXXXX.a(XXXXXX.o)
+[XXXXXXDataTank sharedDataTankManager] in XXXXXX.a(XXXXXXDataTank.o)
-[XXXXXXDataTank processFiveHundredSeriesHttpResult:] in XXXXXX.a(XXXXXXDataTank.o)
-[XXXXXXDataTank networkActive] in XXXXXX.a(XXXXXXDataTank.o)
...
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我曾尝试搜索未找到的符号,但google字面上有0个结果。
我假设静态库是用某种不是单元测试目标的东西构建的,但是我找不到它。
有没有人有什么建议?
干杯
最佳答案
这对我来说很好(用粗体捕获设置):
关于iphone - 体系结构i386将项目升级到iOS 5的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7949781/