Флаги компилятора Objective-C - PullRequest
0 голосов
/ 11 августа 2010

При компиляции Objective-C из командной строки (gcc), какие хорошие флаги нужно использовать?Многие из стандартных флагов C (-Wall, -ansi и т. Д.) Плохо работают с Objective-C.

В настоящее время я просто использую -lobjc и -framework с различными фреймворками.*

1 Ответ

0 голосов
/ 11 августа 2010

Многие из стандартных флагов C (-Wall, -ansi и т. Д.) Плохо работают с Objective-C

-Wall прекрасно работает с Objective-C.

Нужно создать файл Objective-C с помощью Xcode и взглянуть на стенограмму сборки.Я только что сделал это, и вот некоторые основные моменты:

-x objective-c Я предполагаю, что это означает "компилировать как Objective-C", вероятно, важно

-arch x86_64 сборка для конкретной архитектуры процессора

-std=gnu99 сборка для расширений C99 + GNU (на самом деле меня удивило, я думал, что Xcode использовал -std = c99).

-isysroot .... указывает местоположение SDK.

-mmacosx-version-min=10.6 Я компилирую для 10.6 и выше

-fobjc-gc-only Этот файл предназначен для использования со сборщиком мусора и не будет работать без него, поэтому я компилирую только для GC.

-Wall очевидное.

Если вы выполняете компиляцию из командной строки, вероятно, неплохо было бы установить параметр для обработки предупреждений как ошибок.Я не изнутри Xcode, потому что окно результатов сборки запоминает необработанные предупреждения от предыдущих сборок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...