在xcconfig中将二进制与静态库链接

我有一个Xcode项目,本质上是一个单一的应用程序,内置到几个几乎相同的目标。 我已经移动了中心位置的几乎所有构buildconfiguration设置,但我不知道如何将链接对静态库(libMantle.a)移动到xcconfig。 我已经尝试了-framework-l标志,就像我用于各种其他库,但他们不工作。 有没有办法让.a文件脱离链接二进制与库面板,所以我不需要保持手动同步所有的目标?

弄清楚了…

假设您要链接文件libGoogleAnalyticsServices.a 。 基本上有三件事情你应该在你的.xcconfig中得到它的工作。

首先,您要确保您的searchpath中有库的path。 然后,您需要传递两个标志以使链接器很快乐-L与目录的path,以及-l与库。

把它放在一起会得到像你这样的东西:

 LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)/Vendor/Google Analytics" OTHER_LDFLAGS = $(inherited) -L"$(SRCROOT)/Vendor/Google Analytics" -lGoogleAnalyticsServices 

(你需要调整你的相对path)

在这个问题上最有帮助的是Log Navigator(Xcode中的命令+8)。 通过将静态库置于“构build阶段Link Binary With Libraries面板中,并成功构build,可以查看日志中链接器步骤的详细信息,并查看它是如何将分析库传递给编译器的。 从那里它只是在xcconfig中复制这些标志。