【发布时间】:2015-08-28 10:25:55
【问题描述】:
我正在建立一个图书馆。我希望它编译并包含另一个(即 googleConversion),但我需要使用 xcconfig 文件来完成它(例如,对于某些构建,我不想包含该库)
关注:Link binary with static library in 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 中包含该库
我设法做到这一点的唯一方法是在 Link Binary With Library 的构建阶段添加库。
但如果我希望能够自动化我不同类型的构建,我就无法做到这一点
听起来应该很简单;(
也许其他一些配置阻止了这些行工作?
我尝试检查我的日志,我可以在 Libtool 导出路径中的“检查依赖项”中看到我可以看到我的 OTHER_LDFLAGS 的已解析路径(当我从我的 xcconfig 中删除它时它消失了),但看不到 -lGoogleConversionTracking 时存在我把我的库放在构建阶段。
(如果我从构建阶段完全移除面板,我会发生更多事情,比如 libtool 中什么都没有,但在某种程度上它可能是有意义的,这没什么大不了的)
提前谢谢你!
【问题讨论】:
-
我再次测试了在 Link Binary With Library 的构建阶段添加库与不添加库之间的差异。从命令行比较整个构建日志。唯一的区别是 -lGoogleConversionTracking 是否在 libtool 的命令行中。我真的很讨厌 xcode ;x
标签: ios static-libraries xcodebuild