Не являющиеся членом функции в Objective C

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

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

 return str;
}

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

Что делает?

5
задан Ranking Stackingblocks 18 April 2010 в 08:17
поделиться

1 ответ

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

#ifdef __cplusplus
extern "C" {
#endif

// Declaration

#ifdef __cplusplus
}
#endif

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

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

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