clang:错误:不能同时指定“-fobjc-arc”和“-fobjc-gc”

Posted

技术标签:

【中文标题】clang:错误:不能同时指定“-fobjc-arc”和“-fobjc-gc”【英文标题】:clang: error: cannot specify both '-fobjc-arc' and '-fobjc-gc' 【发布时间】:2012-04-20 01:39:25 【问题描述】:

我确实将 Objective-C 自动引用计数设置为 YES,但我有 Objective-C 垃圾收集设置为不支持

所以我看不出如何设置 -fobjc-gc。是否还有其他一些我没有注意到的设置?我已经尝试了一个干净的构建,所以它不会留下任何东西。

【问题讨论】:

是否有可能您的某个文件正在使用-fobjc-gc 进行编译? 我没有在单个文件上设置编译选项。除非有一个框架 - 已经编译 - 这会导致这种情况。 【参考方案1】:

感谢this question,我间接找到了答案。事实证明,要摆脱垃圾收集,当我单击项目下和目标下的构建设置时,我需要在编译器设置中关闭垃圾收集。如果他们不同意,目标(这是我没有注意到的)覆盖。再多的在项目级别的设置都无法解决这个问题。

【讨论】:

好吧,从技术上讲,您只需要在目标级别将其关闭,因为项目设置仅在目标未指定任何内容时适用。但是,如果您没有在任何目标上使用它,那么在项目级别使用它并没有任何意义。或者,您可以删除目标级别设置并让它从项目设置继承。

以上是关于clang:错误:不能同时指定“-fobjc-arc”和“-fobjc-gc”的主要内容,如果未能解决你的问题,请参考以下文章

clang编译器不能找到stdio.h

将异常规范松散错误视为警告的 Clang 编译器选项

不能在 clang 3.5 中包含 <condition_variable>

如何指定 clang 格式的文件?

Clang:找不到 C++11 头文件

如何向 clang 格式添加功能?