在XCode 6.1中,我收到了iPhone 6,iPhone 5s(iOS 7.1)的错误
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_ClientAuthenticator", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
linker command failed with exit code 1
Run Code Online (Sandbox Code Playgroud)
这就是我对架构设置的看法
Architectures : Standard Architectures(armv7, arm64) - $(ARCHES_STANDARD)
Base SDK : Latest iOS(8.1)
Valid Architectures: arm64, armv7, armv7s
IOS Deployment Target: iOS 6.0
Run Code Online (Sandbox Code Playgroud)
最近我将我的操作系统更新到Yosemite和XCode从6.0到6.1.我在Stackoverflow上搜索了这个涉及XCode 5.1的问题并尝试了所有给定的解决方案,但没有任何效果.
更新 - 我按照答案中的建议尝试了更改,但我仍然收到错误,上面写着" 缺少必需的体系结构X86_64 ".在进一步调查中,我发现来自我的库的文件ClientAuthenticator.o没有为X86_64架构构建,可能这是问题所在?我正在寻找它如何为x86_64构建.
我的新问题是arm64和x86_64有什么区别?更多它似乎只是架构制造商之间的差异,但基本的64位架构保持不变.
尝试使用外部库时遇到问题:我无法编译项目,因为它会抛出异常,如下所示.
ld:警告:忽略文件/Users/renaudcousin/Documents/XCode/WORK/StimShopPOC/StimShopPOC/libStimshop_SDK.a,文件中缺少必需的体系结构x86_64 /Users/renaudcousin/Documents/XCode/WORK/StimShopPOC/StimShopPOC/libStimshop_SDK.a( 3片)架构x86_64的未定义符号:"_ OBJC_CLASS _ $ _ StimshopSDK",引自:ViewController.o中的objc-class-ref ld:未找到架构x86_64 clang的符号:错误:链接器命令失败,退出代码为1(使用-v来查看调用)`
我尝试了很多在stackoverflow上找到的解决方案(但对于XCode 5.1并没有得到很好的解释),没有任何改变......
我也发现了这个话题的XCode 6.1缺少文件所需的体系结构X86_64恰好符合我的问题,看着我的lib与体系结构时lipo -info命令,好像它缺少i386和x86_64.我怎么能将它们添加到我的库架构中才能编译?