【问题标题】:How can I use C++ with Objective-C in XCode如何在 XCode 中使用 C++ 和 Objective-C
【发布时间】:2011-02-10 14:30:23
【问题描述】:

我想在 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 中编译代码时,我收到此错误消息。

班级你好*XXXXX 用户/smcho/Desktop/cocoa/adderTwo/hello.h:9:0 /Users/smcho/Desktop/cocoa/adderTwo/hello.h:9: 错误:在 'Hello' 之前应有 '='、','、';'、'asm' 或 '__attribute__'

出了什么问题?

【问题讨论】:

标签: c++ objective-c xcode objective-c++


【解决方案1】:

确保将该文件编译为“Objective-C++”。

最简单的方法是将其重命名为*.mm

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

  1. 选择您的文件。
  2. 打开文件信息对话框 (Cmd+I)
  3. 在文件类型中,选择“sourcecode.cpp.objcpp”

【讨论】:

  • 谢谢你!你帮助我发现了类似的问题,这让我花了两天的时间。
  • 现在 Xcode 显示一个更易理解的建议 Objectice-C++ Source
【解决方案2】:

将 Objective-C 文件从 filename.m 重命名为 filename.mm 以使其编译为 Objective-C++。

【讨论】:

    猜你喜欢
    • 2012-03-04
    • 1970-01-01
    • 2012-09-13
    • 2013-03-28
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多