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

iphone – Xcode – 获取force_load使用相对路径,第1张

概述链接到Xcode项目时,某些库需要-all_load链接器标志。但是,如果库之间存在符号冲突,则会导致链接器错误。解决方案是使用-force_load,这有效地允许您在某些库中使用-all_load,但不能在其他库上使用-all_load。 然而,这反过来又导致了一个新的问题,至少对我而言。每当我使用与库的相对路径的-force_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标志是现在最好的解决方案。

总结

以上是内存溢出为你收集整理的iphone – Xcode – 获取force_load使用相对路径全部内容,希望文章能够帮你解决iphone – Xcode – 获取force_load使用相对路径所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1071514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存