我正在建立图书馆。而且我希望它可以编译并包含另一个(即googleConversion),但是我需要使用xcconfig文件来完成此操作(因为某些构建,例如,我不想包含该库)
所以我所做的就是添加到我的xcconfig文件中:
LIBRARY_SEARCH_PATHS = $(inherited) $(PROJECT_DIR)/../Vendors/Analytics/GoogleConversion/GoogleConversionTrackingSDK-iOS-3.2.0
OTHER_LDFLAGS =$(inherited) -ObjC -L$(PROJECT_DIR)/../Vendors/Analytics/GoogleConversion/GoogleConversionTrackingSDK-iOS-3.2.0 -lGoogleConversionTracking
它可以让我毫无警告地进行编译,但不要将库包含在我的.a中
我设法做到的唯一方法是在链接库中的二进制链接的构建阶段中添加库。
但是,如果我想能够自动化我不同类型的构建,那不是我能做的
听起来应该很简单;(
也许其他一些配置正在阻止这些线路正常工作?
我尝试检查日志,然后在Libtool导出路径的“检查依赖项”中看到了OTHER_LDFLAGS的解析路径(当我将其从xcconfig中删除时,该路径消失了),但是没有-lGoogleConversionTracking,当我将其放入时lib在构建阶段。
(我发生了更多的事情,如果我从构建阶段完全删除面板的话,libtool中什么也没发生,但这在某种意义上是有意义的,这没什么大不了的)
先感谢您!
菲纳莱明白了!!!
这是因为在xcode 6中解决了一个旧的xcode错误。
https://tarunsharmaios.wordpress.com/2014/09/12/xcode6-static-library-linking-broken/
构建静态库时,BlockquoteXcode将不再将构建设置OTHER_LDFLAGS中的选项传递给libtool,也不会在构建任何其他类型的产品时将OTHER_LIBTOOLFLAGS中的选项传递给Mach-O链接器。以前,这两个设置中的所有选项都将传递给这两个工具。确保选项处于产品类型,静态库或其他正在构建的组件的正确构建设置中。(4285249)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句