猿问

建筑符号64

建筑符号64

每次从CocoaPods导入文件时,我都会得到一个Apple Mach-O链接错误。

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_FBSession", referenced from: someFile
ld: symbol(s) not found for architecture arm64

我得到了其中的12个,用于我使用的各种口袋妖怪。

我正在尝试使用XCode 5为iPhone5S构建。

我在这里尝试过各种各样的解决方案,但至今还没有任何解决方案。

如何修复这个Apple Mach-O链接器错误?


刚刚发现了另一个可能很有趣的警告,我希望这能引导我找到解决方案:

Ignoring file ~/Library/Developer/Xcode/DerivedData/SomeApp/Build/Products/Debug-iphoneos/libPods.a,

file was built for archive which is not the architecture being linked (arm64):~/Library/Developer/Xcode/DerivedData/someApp/Build/Products/Debug-iphoneos/libPods.a


holdtom
浏览 469回答 3
3回答

aluckdog

问题是CocoaPods尚未为ARM 64体系结构构建,因此在构建它们时无法连接它们。很可能,在更新和使用该体系结构之前,您无法使用这些包。您可以通过转到project->Target(您的项目名称)->构建设置并将体系结构更改为标准体系结构(ARMv 7,armv 7),并将有效架构更改为ARMv 7,armv 7,从而修复链接器错误。注意,这意味着您将无法获得64位处理器的全部功能。你说你正在为5s建造,所以可能有一些原因你需要这个。如果您出于某种原因绝对需要这种能力(也许您正在构建一个游戏),并且迫切需要这些文件,您可以提交一个拉请求,然后通过将这些相同的字段设置为从开放源码项目中提取的文件中的arm64,将项目重新编译为arm64。但是,除非你真的需要这些文件是64位兼容,这似乎有点过分目前。编辑:一些人还报告说,将Active Architecture的构建设置为YES也是解决这个问题的必要条件。

慕沐林林

我遇到了同样的/类似的问题AVPictureInPictureController问题是我没有把AVKIT我的项目框架。错误信息是:Undefined symbols for architecture armv7:    "_OBJC_CLASS_$_AVPictureInPictureController", referenced from:        objc-class-ref in yourTarget.a(yourObject.o)ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)解决办法:去你的工程项目选择目标然后,去构建阶段打开链接二进制与图书馆最后,只需添加+这个AVKIT 框架/任何其他框架.希望这能帮助其他人遇到类似的问题。
随时随地看视频慕课网APP
我要回答