簡體   English   中英

如何在XCode中使用帶有Objective-C的C ++

[英]How can I use C++ with Objective-C in XCode

我想在Objective-C中使用/重用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'

什么地方出了錯?

確保將該文件編譯為“Objective-C ++”。

最簡單的方法是將其重命名為* .mm

如果您不想重命名* .m文件,

  1. 選擇你的文件。
  2. 打開“文件信息”對話框(Cmd + I)
  3. 在“文件類型”中,選擇“sourcecode.cpp.objcpp”

將Objective.C文件從filename.m重命名為filename.mm ,使其編譯為Objective-C ++。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM