加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – Xcode – 获取force_load使用相对路径

发布时间:2020-12-15 01:56:24 所属栏目:百科 来源:网络整理
导读:链接到Xcode项目时,某些库需要-all_load链接器标志。但是,如果库之间存在符号冲突,则会导致链接器错误。解决方案是使用-force_load,这有效地允许您在某些库中使用-all_load,但不能在其他库上使用-all_load。 然而,这反过来又导致了一个新的问题,至少
链接到Xcode项目时,某些库需要-all_load链接器标志。但是,如果库之间存在符号冲突,则会导致链接器错误。解决方案是使用-force_load,这有效地允许您在某些库中使用-all_load,但不能在其他库上使用-all_load。

然而,这反过来又导致了一个新的问题,至少对我而言。每当我使用与库的相对路径的-force_load时,链接器总是发现库与本身之间的符号冲突。看来,链接器认为具有绝对路径的库和具有其相对路径的库是不同的库,因此发现库与其本身之间存在冲突。

我可以通过使用带有该标志的绝对路径来避免这种情况。但这并不是一个很好的解决方案,因为方便的是将库的源代码保存在我的文档目录中。但是在其他机器上,文档目录的路径将不同。

问题:任何人都可以使用force_load来使用图书馆的相对路径?

编辑:有关背景信息,请参阅this question

解决方法

使用Xcode 4,如果将库项目包含在应用程序项目中,则可以将其添加到其他链接器标志:

-force_load $(BUILT_PRODUCTS_DIR)/<library_name.a>

您仍然需要依赖,您还需要在框架和库的链接阶段列表中添加库。

编辑:苹果现在说一些Xcode 4版本,你可以简单地使用这个链接器标志:“-ObjC”来获取类别的库以正确加载。那个标志在Xcode 5中对我来说很好。人们还在投票这个答案,但我怀疑-ObjC标志是现在最好的解决方案。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读