gpt4 book ai didi

iphone - Xcode——获取 force_load 以使用相对路径

转载 作者:IT王子 更新时间:2023-10-29 08:13:49 28 4
gpt4 key购买 nike

某些库在链接到 Xcode 项目时需要 -all_load 链接器标志。但是,如果库之间存在符号冲突,这会导致链接器错误。解决方案是使用 -force_load,它可以有效地让您在某些库上使用 -all_load,但不能在其他库上使用。

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

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

问题:任何人都可以让 force_load 使用库的相对路径吗?

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

最佳答案

在 Xcode 4 中,如果您将库项目包含到您的应用项目中,那么您可以将其添加到其他链接器标志中:

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

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

编辑:Apple 现在表示,从某些 Xcode 4 版本开始,您可以简单地使用此链接器标志:“-ObjC”来获取具有类别的库以正确加载。该标志在 Xcode 5 中对我来说工作得很好。人们仍在投票支持这个答案,但我怀疑 -Objcflags是现在最好的解决方案。

关于iphone - Xcode——获取 force_load 以使用相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4787279/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com