2010-08-10 85 views
0

从命令行(gcc)编译Objective-C时,有什么好用的标志?许多标准的C标志(-Wall,-ansi等)在Objective-C中不能很好地运行。Objective-C编译器标志

我目前只是使用-lobjc-framework与各种框架。

+0

应该是社区Wiki。 – 2010-08-10 21:54:57

回答

0

许多标准C标志(-Wall,-ansi等)不与Objective-C的

-Wall作品完美地与Objective-C的精细发挥出色。

要做的事情是用Xcode构建一个Objective-C文件并查看构建脚本。我刚刚做了这一点,这里有一些亮点:

-x objective-c我想这意味着“作为编译的Objective-C”,大概重要

-arch x86_64构建特定的CPU架构

-std=gnu99建立C99 + GNU扩展(实际上让我感到惊讶,我认为Xcode使用了-std = c99)。

-isysroot ....指定SDK的位置。

-mmacosx-version-min=10.6我编译10.6及以上

-fobjc-gc-only这个文件的目的是与垃圾收集一起使用,否则将无法工作,所以我编译只GC。

-Wall显而易见。

如果您是从命令行进行编译,那么设置将警告视为错误的选项可能是个好主意。我不从Xcode内部编译,因为构建结果窗口会记住以前构建中未清除的警告。