架构 armv7 的未定义符号 - route-me 库,仅限临时

Posted

技术标签:

【中文标题】架构 armv7 的未定义符号 - route-me 库,仅限临时【英文标题】:Undefined symbols for architecture armv7 - route-me library, ad hoc only 【发布时间】:2012-05-15 23:33:59 【问题描述】:

我已阅读与此主题相关的所有其他问题,但找不到我的答案。我的项目正在使用 route-me。它适用于模拟器和连接的 iPad。临时存档将不会建立。在实施 route-me 之前,我已经成功地制作了一个临时存档 - 并安装了它。我的错误是:

架构 armv7 的未定义符号:

“_ApplicationVersion”,引用自: - [RMWebTileImage startLoading:] 在 libMapView.a(RMWebTileImage.o) “_ApplicationNameFromBundle”,引用自: - [RMWebTileImage startLoading:] 在 libMapView.a(RMWebTileImage.o) ld:未找到架构 armv7 的符号

我的库已正确链接 - 它为模拟器和 iPad 构建,没有错误。我有

[RMMapView 类];

在显示地图的视图控制器中。在使用该行之前,如果使用 iTunes 从存档安装我的应用程序会崩溃 - 尽管如果从 Xcode 安装它不会崩溃。现在档案根本不会建立。 (但我仍然相信上面的路线让我走上了正确的道路)。

我已经尝试了所有可以在此处找到的可能适用的解决方案。如果我删除对 RMWebTileImage.h 和 RMWebTileImage.m 的引用 - 我会得到相同的错误,但这是有道理的。但是当我重新添加引用时,我仍然得到错误,好像文件甚至没有被引用。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

看起来 route-me 的静态库没有 armv7 符号。检查库的构建设置,并确保架构构建设置设置为针对 armv6 和 armv7 构建。

您还可以随时在静态库上使用lipo -info 来查看所有包含的架构。

如果您要链接 Debug 配置,这主要设置为仅为活动架构构建。确保项目构建设置与 route-me 项目设置相同。

【讨论】:

以上是关于架构 armv7 的未定义符号 - route-me 库,仅限临时的主要内容,如果未能解决你的问题,请参考以下文章

静态库链接错误。架构 armv7s 的未定义符号

架构 armv7 的未定义符号

架构armv7的未定义符号?

XCode 5 - 架构 armv7 的未定义符号:

架构armv7的未定义符号?这个错误是啥意思?

架构 armv7 的未定义符号