繁体   English   中英

IOS App中的C ++类,Xcode 5

[英]C++ Class in IOS App, Xcode 5

我有一个IOS应用程序是一个单一的视图应用程序。 它有一个我在其中制作的标准C ++类,但是,它不接受cpp类。 这是.h文件的简化版本(没有那些行#s):

1 #ifndef __Calculator__Numbers__
2 #define __Calculator__Numbers__
3 #include <iostream>
4 class NumDigits
5 {
6 };
7 #endif 

我收到错误: 'iostream' file not found

看起来好像项目没有C ++库? 如果是这样,我将如何添加它们? 如果没有,我该怎么做才能解决这个错误? 看起来我的项目中没有包含cpp库: http//i.imgur.com/ZkJHb7j.png

实现文件在Obj-C中具有扩展名.m 要使用Objective-C在Xcode项目中使用C ++文件,必须使用.mm扩展名,并且可以在.mm文件中包含C ++标头。 您不能在.m文件中包含标头,但如果要在.h包含C ++标头,则需要一个宏,如:

#ifdef _CP
#include <iostream>
#endif

为了解决这个问题,我只是取出了所有的宏, #include和类声明:

#ifndef __Calculator__Numbers__
#define __Calculator__Numbers__
#include <iostream>
class NumDigits
{
};
#endif 

并且只留下函数声明: void myFunction(int myVariable) ; 然后在.cpp中:

#include <iostream> //and other #includes
void myFunction(int myVariable) {
//stuff
}

这是有效的,因为函数仍然被调用,值传递给它们和从它们传递。 返回值是应该吐出的值。 如果在.mm如果.cpp#included ,则无法找到iostream文件,因此3include the .h ,而在.cpp#include .h

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM