【发布时间】:2014-03-11 10:31:56
【问题描述】:
在新的 XCode 5.1 中,arm64 已成为构建的标准架构之一。
但是,在我当前的项目中,我包含了尚不支持这种新架构的库(例如 Google AdMob) - 这些现在会导致链接器错误:
ld: symbol(s) not found for architecture arm64
例如,Google AdMob 6.8.0 是 said to be supporting arm64,但我无法真正确认这一点,除非 cputype (16777228) cpusubtype (0) 是 arm64? (通过文件命令行工具找到)
libGoogleAdMobAds.a: Mach-O universal binary with 5 architectures
libGoogleAdMobAds.a (for architecture armv7): current ar archive random library
libGoogleAdMobAds.a (for architecture armv7s): current ar archive random library
libGoogleAdMobAds.a (for architecture i386): current ar archive random library
libGoogleAdMobAds.a (for architecture x86_64): current ar archive random library
libGoogleAdMobAds.a (for architecture cputype (16777228) cpusubtype (0)): current ar archive random library
有没有办法解决这个问题?
【问题讨论】:
-
你能显示完整的错误日志吗?
-
您是否检查过您使用的库是否有更新。另一种选择可能是取消对 arm64 的支持,但不确定 Apple 是否会接受您的应用。
-
不幸的是,您将无法使用这些库的这些版本,直到它们更新为对 arm64 架构的编译支持。尝试看看这些库是否有任何更新。
-
如果您有库的源代码,请为 arm64 重建它们。
-
是的
cputype (16777228) cpusubtype (0)表示arm64,看我的answer here
标签: ios objective-c xcode xcode5.1