Как я могу использовать C++ с Objective C в XCode

Я хочу использовать/снова использовать объект C++ с Objective C. У меня есть hello.h, который имеет определение класса и hello.cpp для реализации класса.

class Hello
{ int getX() ... };

И я использую этот класс в функции Objective C.

#include "hello.h"
...
- (IBAction) adderTwo:(id)sender
{
    Hello *hi = new Hello();            
    int value = hi->getX();
    NSLog(@"Hello %d", value);
    [textField setIntValue:value];

Когда я компилирую код в XCode, я получаю это сообщение об ошибке.

class Hello *XXXXX
Users/smcho/Desktop/cocoa/adderTwo/hello.h:9:0
/Users/smcho/Desktop/cocoa/adderTwo/hello.h:9: 
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Hello'

Что пошло не так, как надо?

21
задан prosseek 2 November 2011 в 02:53
поделиться

2 ответа

Убедитесь, что вы скомпилировали этот файл как "Objective-C ++".

Самый простой способ - переименовать его в *. Мм .

Если вы не хотите переименовывать файл * .m,

  1. Выберите файл.
  2. Откройте диалоговое окно «Информация о файле» (Cmd + I)
  3. В поле «Тип файла» выберите «sourcecode.cpp.objcpp»
34
ответ дан 29 November 2019 в 20:35
поделиться

Переименуйте файл Objective-C с filename.m в filename.mm , чтобы он компилировался как Objective-C ++.

7
ответ дан 29 November 2019 в 20:35
поделиться
Другие вопросы по тегам:

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