如何在iphone项目中添加C ++文件

时间:2012-09-12 13:16:49

标签: iphone c++ objective-c xcode

我有一个iPhone项目,在此我想使用c ++文件。我创建了如下的c ++文件:

文件 - >新文件 - > C / C ++文件 - > C ++文件 并将其命名为 ClassA.cpp

在ClassA.cpp中

#include <iostream>

class ClassA
{
  public:
    int a, b;

    void add();

};

void ClassA::add()
{

//    printf("sdf");
}
我的viewController.mm文件中的

#import "ViewController.h"
#import "ClassA.cpp"
- (void)viewDidLoad
{
    ClassA a;
    a.add();



    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

我读了一些帖子,它说我将.m重命名为.mm,所以我将所有.m文件重命名为.mm 并添加了两个链接器标志

-cclib -lstdc++

但它出现以下错误:

enter image description here

1 个答案:

答案 0 :(得分:3)

您需要将C ++部分拆分为头文件和cpp文件,否则ClassA::add将被定义两次。

ClassA.h:

#include <iostream>

class ClassA
{
  public:
    int a, b;

    void add();

};

ClassA.cpp:

#include "ClassA.h"
void ClassA::add()
{

//    printf("sdf");


}

您的.mm文件:

#import "ClassA.h"
... the rest of the file ...