繁体   English   中英

将自定义框架链接到 xcode 中的库

[英]linking custom framework to library in xcode

我想将Microblink 的 PDF417框架包含到我的库中。 库项目编译并正常工作,但是当我在我的应用程序中使用 MyLibrary.a 文件时,出现“架构 armv7 的未定义符号”错误。 有任何想法吗? 我可以在库中包含自定义框架吗,或者这是不可能的。

Trojanfoe 的回答对您的情况是正确的。 但总的来说,答案取决于框架内库的类型。

iOS/MacOS 框架只是一个库和所有相关头文件的集合。 这使得将库包含到其他项目中变得更加容易,因为可以一次包含整个框架,从而无需修改链接器和头文件搜索路径以及链接器标志。

库本身可以是静态库或动态/共享库。 框架可以包含任何类型的库,在这方面没有限制。

如果框架中的库是静态的,则该库中的所有对象都会在编译时复制到目标产品中。 如果目标产品是静态库(在您的情况下为MyLibrary.a ),则不需要与应用程序中的框架进行额外链接,因为所有对象都包含在MyLibrary.a 中

如果框架中的库是动态的,那么来自该库的对象在加载时或运行时加载,而不是在编译时加载。 因此,该类型的框架也需要与最终应用程序链接。

在您的情况下,pdf417 框架包含一个动态库,这意味着您还必须将该框架包含到您的最终应用程序中。


我是 Microblink 的PDF417 SDK的开发人员。 问题是,我们可以提供任何格式的库。 我们在 Github 存储库中选择的格式是 .embeddedframework,它包含一个动态库和所有资源文件,因为这使得将框架包含到应用程序项目中非常简单。 如果您有需要不同格式的用例,我们邀请您通过https://help.microblink.com/hc/en-us与我们联系

静态库只是目标文件的集合(有点像没有压缩或层次结构的 zip 文件)并且不能保存有关它可能具有的任何依赖项的信息。

因此,您必须将最终的可执行二进制文件与您的库和相关框架链接起来。 如果依赖项是静态库、动态库或框架,则同样适用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM