2010-08-10 136 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內部編譯,因爲構建結果窗口會記住以前構建中未清除的警告。