苹果公司现在要求所有新提交的评论app,我们必须支持64位架构。而我们的在线项目编制,操作员做了一堆SDK在需要访问,我们发现,在这个过程中,有些SDK的.a文件进入后,链接错误,如提示
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_CocoAnalyse", referenced from:
objc-class-ref in PlatHelper_iOS.o
这种错误。一般来说。假设在集成前能正常,而集成后出如今这个错误,除了sdk的库本身和project设置不相符(比方不支持64位)。还有可能是由于sdk没有正确的集成(没有把.a文件增加project,没有把sdk用到的某些iOS SDK中的framkwork加进去)
通常来说,这里的错误信息就能推断出大体是哪个sdk出了问题。
"_OBJC_CLASS_$_CocoAnalyse", referenced from:
objc-class-ref in PlatHelper_iOS.o
这种错误。一般来说。假设在集成前能正常,而集成后出如今这个错误,除了sdk的库本身和project设置不相符(比方不支持64位)。还有可能是由于sdk没有正确的集成(没有把.a文件增加project,没有把sdk用到的某些iOS SDK中的framkwork加进去)
通常来说,这里的错误信息就能推断出大体是哪个sdk出了问题。
但假设有些名字看不出来是哪个SDK。或者想要更有针对性的推断某个.a文件都包括有哪些架构,能够直接使用MacOS自带的otool 命令行
如 otool -hv xxx.a
命令会输出相关的信息
參考链接:
http://*.com/questions/12001195/how-can-i-know-which-architecture-an-a-file-is-built-for
版权声明:本文博主原创文章,博客,未经同意不得转载。