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

时间:2013-09-30 19:50:05

标签: ios xcode clang xcode5

我有一个Xcode项目,它本质上是一个内置于几个几乎相同的目标的应用程序。我已经在中心位置移动了几乎所有的构建配置设置,但我无法弄清楚如何将静态库(libMantle.a)的链接移动到xcconfig。我尝试了-framework-l标志,就像我用于其他各种库一样,但它们不起作用。有没有办法从链接二进制文件库中获取.a文件,所以我不需要手动保持所有目标同步?

1 个答案:

答案 0 :(得分:3)

想出来......

假设您要链接文件libGoogleAnalyticsServices.a。你的.xcconfig基本上应该有三件事让它运转起来。

首先,您要确保在搜索路径中拥有库的路径。然后,您需要传递两个标志,以使链接器快乐-L包含目录路径,-l包含库。

把它们放在一起会得到类似的东西:

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

(您需要调整相对路径)

解决这个问题最有用的是Log Navigator(Xcode中的命令+ 8)。通过将静态库放入Build Phases Link Binary With Libraries面板并进行成功构建,您可以查看日志中链接器步骤的详细信息,并了解它如何将Analytics库传递给编译器。从那里它只是复制xcconfig中的那些标志。

相关问题