我有一个 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++
但它给出了以下错误:
最佳答案
需要将C++部分拆分成一个头文件和一个cpp
文件,否则ClassA::add
会被定义两次。
A类.h:
#include <iostream>
class ClassA
{
public:
int a, b;
void add();
};
A类.cpp:
#include "ClassA.h"
void ClassA::add()
{
// printf("sdf");
}
您的 .mm 文件:
#import "ClassA.h"
... the rest of the file ...
关于iphone - 如何在iphone项目中添加C++文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12389102/