Псевдонимы ключевого слова int
System.Int32
, который все еще требует 4 байтов, даже на 64-разрядной машине.
Пробовали ли вы запускать команды 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 вы можете использовать следующую команду:
Я думаю, это потому, что вы используете Objective-C 2.0, которое является частным расширением, разработанным Apple и не внесенным в «стандарт», FSF GCC . Таким образом,
@ Malaxeur - вы попали прямо в точку. Я только что возился с ObjC на ПК и столкнулся именно с этой проблемой - мой путь указывал на компилятор gcc версии 3.x. Я перешел на версию 4.x и вуаля!
Стоит также отметить, что ошибка "stray '@'" также появляется, если вы неправильно пишете 'implementation', что немного вводит в заблуждение.
В любом случае, спасибо за помощь.