我正在尝试构建一个使用OCUnit运行测试的项目,但在链接时得到以下错误:
ld: warning: in /Developer/SDKs/MacOSX10.5.sdk/Library/Frameworks//SenTestingKit.framework/SenTestingKit, file is not of required architecture
Undefined symbols:
"_STComposeString", referenced from:
-[ReaderTest testEmptyFile] in ReaderTest.o
-[ReaderTest testReadOneLine] in ReaderTest.o
-[ReaderTest testReadOneLine] in ReaderTest.o
"_OBJC_CLASS_$_SenTestCase", referenced from:
_OBJC_CLASS_$_ReaderTest in ReaderTest.o
_OBJC_CLASS_$_ActionUserInfoReaderTest in ActionUserInfoReaderTest.o
"_OBJC_METACLASS_$_SenTestCase", referenced from:
_OBJC_METACLASS_$_ReaderTest in ReaderTest.o
_OBJC_METACLASS_$_ActionUserInfoReaderTest in ActionUserInfoReaderTest.o
ld: symbol(s) not found
collect2: ld returned 1 exit status在此之前,我能够使用OCUnit构建和运行,没有任何问题。这个问题本周出现了,但我不知道是什么变化造成的。我尝试使用iPhone SDK3.2.1重新安装XCode,但没有效果。
如果我得到关于/Library/Frameworks/SenTestingKit.framework/Versions/A/SenTestingKit,的信息,我会得到"Kind: Unix可执行文件(PowerPC)“。这说明了为什么我会有问题,因为我是在x86_64架构的英特尔平台上构建的。然而,我不明白它以前是怎么工作的,却停止了工作……
谢谢你的帮助。
发布于 2010-01-09 09:18:08
您似乎构建了自己的SenTestingKit副本,可能它的体系结构是错误的。它在/Users/alexandrebeaulieu/workspaces/Project/build/Debug/SenTestingKit.framework.上
当您使用共享构建位置时,Xcode更喜欢使用您构建的任何框架,而不是系统上安装的框架。
发布于 2012-05-07 22:00:22
我也遇到了同样的问题,似乎是突然冒出来的。但我发现解决方案就是做一个干净的构建。
产品>清洁
https://stackoverflow.com/questions/2031895
复制相似问题