Номера для функций в Objective-C - PullRequest
5 голосов
/ 18 апреля 2010

Я хочу написать отдельную функцию в Objective-C; так что, по сути, функция в стиле C с вызовами Objective-C. Например:

NSString* someFunc()
{
 NSString* str = [[NSString alloc] init];

 return str;
}

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

Что делать?

1 Ответ

3 голосов
/ 18 апреля 2010

Это оказалось глупой ошибкой с моей стороны. Функция была определена в файле .m, но я пытался использовать ее в файле .mm (C ++ / Objective-C), поэтому, естественно, он искал искаженный символ C ++. Положив

#ifdef __cplusplus
extern "C" {
#endif

// Declaration

#ifdef __cplusplus
}
#endif

в заголовочном файле исправляет проблему.

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