4

我在 xcode 4.3.2 上,我正在编译 zmqobj https://github.com/jeremy-w/objc-zmq.git。项目中包含的原始目标是针对 os x 的,但我正在尝试为 ios 添加一个新目标。

对于新目标,它给了我 ARC 投诉(因为代码不是 ARC)。但是,在为原始 os x 目标编译时,它不会给我这些警告。

添加 -fno-objc-arc 给我:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: unknown option character `f' in: -fno-objc-arc

我一定是把目标设置错了,但我不知道它有什么问题。帮助表示赞赏,谢谢。

编辑:

我在目标-> 构建阶段-> 编译源中添加标志。我以前为我自己创建的项目做过这个并且它有效。但对于这个项目,它没有意识到这一点。

4

1 回答 1

1

将名为 libarclite_iphoneos.a 的静态库添加到您的项目中。这个问题几乎要了我的命。

https://devforums.apple.com/message/605259 “如果您有一个使用 ARC 的静态库包含在不使用它的项目中,请将此文件添加到项目中:

/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/arc/libarclite_iphoneos.a

(假设 /Developer 是您的 ARC 兼容开发工具所在的位置)这将让您在 iOS 4 上运行二进制文件而不会出现类似的错误

未找到符号:_objc_autoreleasePoolPush

或其他人。”

于 2012-07-09T10:03:10.713 回答