【发布时间】:2011-06-14 19:25:31
【问题描述】:
链接到 Xcode 项目时,某些库需要 -all_load 链接器标志。但是,如果库之间存在符号冲突,这会导致链接器错误。解决方案是使用 -force_load,它可以有效地让您在某些库上使用 -all_load,但不能在其他库上使用。
但是,这反过来又导致了一个新问题,至少对我来说是这样。每当我将 -force_load 与库的 relative 路径一起使用时,链接器总是会发现库与其自身之间的符号冲突。看来链接器认为绝对路径的库和相对路径的库是不同的库,因此发现库和自身有冲突。
我可以通过使用带有标志的 absolute 路径来避免这种情况。但这不是一个很好的解决方案,因为将库的源代码保存在我的文档目录中很方便。但是文档目录的路径在其他机器上会有所不同。
问题:任何人都可以让 force_load 使用库的相对路径吗?
编辑:有关背景信息,请参阅this question
【问题讨论】:
-
我需要
$(SRCROOT)否则我会得到重复的符号
标签: iphone xcode ios linker static-libraries