【发布时间】:2013-06-07 11:42:39
【问题描述】:
所以我有一个简单的 iOS 项目,它必须使用静态库。该库主要用 C++ 编写,并且往往是跨平台的。它可以使用 Xcode 构建。
我创建了一个示例 iOS 应用程序项目,将库的项目作为子项目添加到其中,将库添加为我的 iOS 应用程序的依赖项。
我的 iOS 应用使用 ARC。在库中,我有几个预处理器宏,例如
#if __has_feature(objc_arc)
@autoreleasepool
#elif defined(OSX) || defined(IOS)
// something else ...
当我编译项目时,它被编译没有启用 ARC。所以在代码中设置了“// something else ...”而不是“@autoreleasepool”。
我什至为库目标和使用这些宏的特定文件设置了额外的 -fobjc_arc 标志。请看截图。
我使用 Xcode 版本 4.6.2 (4H1003),编译器是 Apple LLVM 4.2。
有人对为什么会发生这种情况有任何建议吗?
【问题讨论】:
标签: ios macros automatic-ref-counting static-libraries llvm