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