Справка с GCC и кодом ObjectiveC и Cygwin

Псевдонимы ключевого слова int System.Int32, который все еще требует 4 байтов, даже на 64-разрядной машине.

5
задан Matt McMinn 30 August 2011 в 16:31
поделиться

3 ответа

Пробовали ли вы запускать команды gcc непосредственно из командной строки, а не через make-файл?

Нашел эту ссылку:

Взято непосредственно из http: //www.cs. indiana.edu/classes/c304/ObjCompile.html

Компиляция Objective-C

Код Objective-C может быть скомпилирован с использованием компилятора GNU C gcc. Файлы интерфейса Objective-C обычно помечаются расширением .h, как в List.h. Файлы реализации обычно помечаются расширением .m, как в List.m. Файл реализации должен # импортировать соответствующий файл интерфейса. Ваша основная программа должна также # импортировать файлы интерфейса всех используемых ею классов. Обычно вам нужно компилировать файлы, которые реализуют ваши классы отдельно. Например, чтобы скомпилировать List.m, используйте следующую команду:

gcc -c -Wno-import List.m

Ключ -c указывает компилятору создать объектный файл List.o, который впоследствии можно будет связать с вашей программой. Сделайте это для каждого из ваших файлов реализации и вашей основной программы.

Переключатель -Wno-import указывает компилятору не выдавать предупреждение, если в вашем коде есть инструкция #import. По какой-то причине Ричард Столмен (основатель проекта GNU) не любит конструкцию #import.

Когда вы будете готовы скомпилировать свою программу, вы можете снова связать все реализации ваших классов с помощью gcc. Например, для компиляции файлов List.o и main.o вы можете использовать следующую команду:

-1
ответ дан 15 December 2019 в 06:30
поделиться

Я думаю, это потому, что вы используете Objective-C 2.0, которое является частным расширением, разработанным Apple и не внесенным в «стандарт», FSF GCC . Таким образом,

2
ответ дан 15 December 2019 в 06:30
поделиться

@ Malaxeur - вы попали прямо в точку. Я только что возился с ObjC на ПК и столкнулся именно с этой проблемой - мой путь указывал на компилятор gcc версии 3.x. Я перешел на версию 4.x и вуаля!

Стоит также отметить, что ошибка "stray '@'" также появляется, если вы неправильно пишете 'implementation', что немного вводит в заблуждение.

В любом случае, спасибо за помощь.

2
ответ дан 15 December 2019 в 06:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: