#objective-c #c #xcode
#objective-c #c #xcode
Вопрос:
У меня есть проект Xcode для моего приложения Cocoa. Пока все работает на Objective-C.
Проблемы начались после того, как я добавил новый файл .c из меню (Добавить файл C и заголовок): test.c и заголовок test.h.
Когда я пытаюсь скомпилировать проект, теперь возникают тысячи ошибок. Все они являются жалобами на синтаксические ошибки. Например:
NSObjCRuntime.h: Expected identifier or '(' before '@' token
Оба новых файла, test.c
и test.h
, не содержат никакого кода, только комментарии к заголовку по умолчанию. Должно быть, что-то действительно не так с конфигурацией моего проекта. Когда я удаляю эти два файла, проект компилируется просто отлично.
Язык проекта установлен на C99. Есть ли что-нибудь еще, что я мог бы проверить?
Спасибо, Марк
Ответ №1:
если скомпилированные вами файлы ничего не содержат, то ваша проблема, скорее всего, в заголовке prefix (расширение: pch)
таким образом, вы просто переносите свои библиотечные включения на основе языка (в pch):
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#endif
Комментарии:
1. Потрясающе, спасибо.
Ответ №2:
Проверьте свой .pch
файл. Это импорт некоторого заголовка Objective-C без соответствующей защиты препроцессора.
Вы должны убедиться, что любой заголовок Objective-C или фреймворк, импортированный в вашем предварительно скомпилированном заголовке, выглядит примерно так:
#if defined(__OBJC__)
#import <Cocoa/Cocoa.h>
#import <CoreData/CoreData.h>
#import "MyConstants.h"
...
#endif