Ios 应用程序获取";未定义的架构符号armv7“;存档时,除非我没有';在库中删除链接的产品

Ios 应用程序获取";未定义的架构符号armv7“;存档时,除非我没有';在库中删除链接的产品,ios,xcode,linker-errors,archive,undefined-symbol,Ios,Xcode,Linker Errors,Archive,Undefined Symbol,我的应用程序使用四个库。其中两个是第三方的(从源代码构建),两个是我自己的。构建调试和发布版本的应用程序工作没有任何问题 然而,当我尝试归档应用程序时,我会为我的一个个人库中的每个符号(仅两个库中的一个)获取“未定义的架构armv7符号” 我发现,如果我在该库的构建设置中将“Strip Linked Product”设置为NO,我就可以归档该应用程序 我的问题是,为什么我需要为四个图书馆中的一个这样做?我能做些什么来解决这个问题吗 我使用的是Xcode 5.0.2。该应用程序和所有库都是以iOS

我的应用程序使用四个库。其中两个是第三方的(从源代码构建),两个是我自己的。构建调试和发布版本的应用程序工作没有任何问题

然而,当我尝试归档应用程序时,我会为我的一个个人库中的每个符号(仅两个库中的一个)获取“未定义的架构armv7符号”

我发现,如果我在该库的构建设置中将“Strip Linked Product”设置为NO,我就可以归档该应用程序

我的问题是,为什么我需要为四个图书馆中的一个这样做?我能做些什么来解决这个问题吗


我使用的是Xcode 5.0.2。该应用程序和所有库都是以iOS 7的部署目标和标准体系结构(armv7和armv7s)构建的。

问题是,对于该静态库,我将链接时间优化设置为“是”

我使用了DTS票证来解决这一问题,因此,与其试图解释我得到的响应,我只想引用它:

“实际上,问题在于为您的库启用了链接时间优化生成设置。将“条带链接产品”设置为“是”,将“链接时间优化”设置为“否” 导致Xcode在链接过程中的优化过程之前首先剥离库(您可以通过查看构建日志来查看);链接失败,因为所需的符号已从库中剥离。
[将剥离链接产品设置为“否”时]您将获得成功的存档,因为在链接过程中优化过程之前不会删除任何符号。将库的链接时间优化设置为“否”应该可以解决此问题。”--Linda Ouandji

问题是,对于静态库,我将链接时间优化设置为“是”

我使用了DTS票证来解决这一问题,因此,与其试图解释我得到的响应,我只想引用它:

“实际上,问题在于为您的库启用了链接时间优化生成设置。将“条带链接产品”设置为“是”,将“链接时间优化”设置为“否” 导致Xcode在链接过程中的优化过程之前首先剥离库(您可以通过查看构建日志来查看);链接失败,因为所需的符号已从库中剥离。 [将剥离链接产品设置为“否”时]您将获得成功的存档,因为在链接过程中优化过程之前不会删除任何符号。将库的链接时间优化设置为“否”应该可以解决此问题。“--Linda Ouandji