Ошибка Apple Mach-O Linker (Id): при вызове файла c ++ из файла .m - PullRequest
0 голосов
/ 23 августа 2011

У меня есть некоторый файл cpp, в котором написаны мои функции. Я хочу вызвать эти функции в моем приложении для iPhone? Как я могу вызвать методы C ++ в моем файле .m ???

Вот мой .cpp файл

int add(int a, int b)
{
    return a+b;
}

Теперь в моем событии viewDidLoad я использую следующий код, чтобы получить результат и отобразить его в метке.

NSNumber *n = [[NSNumber alloc] initWithInt:add(5,7)];
[myLabel setText:[NSString stringWithFormat:@"%@",n]];

Я получил следующую ошибку при компиляции:

Undefined symbols for architecture i386:
  "_add", referenced from:
      -[usingc__ViewController viewDidLoad] in usingc__ViewController.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

Где ошибка в коде ?? Какое редактирование необходимо для этого ??

1 Ответ

0 голосов
/ 23 августа 2011

Если вы хотите использовать файл C ++ в вашем файле Objective-C, измените расширение файла с .m на .mm.

...