其他分享
首页 > 其他分享> > c – 在Xcode中编译#include – 编译时出错:找不到文件

c – 在Xcode中编译#include – 编译时出错:找不到文件

作者:互联网

我在我的项目中添加了一个框架,在哪里获得我需要实现c代码的框架的回调,为此我添加了来自.cpp的.mm类的c类

as per suggestions given in this link

我还发现了一些StackOverflow的帖子,在那里我发现要么必须使用C或Objective C源类型(作为少数成员的建议).

我希望编译c代码和Objective C类,但我得到#include< cstdlib>的文件未找到错误(编译时间)和#include< string>

请让我知道任何一个解决它的人.或面临同样的问题.

提前致谢!!!

解决方法:

我认为问题是你的.h文件,你已经添加了C包含在其他.m文件中,而不仅仅是.mm文件.
有几种方法可以解决这个问题:

>使用C仅包含.mm文件. (不要在.h中使用它们)
>更改所有文件,将您的标题导入.mm
>包括他们

#ifdef __cplusplus
#endif

块.也可以将此块用于提到C类的方法.
例如:

#ifdef __cplusplus
#include <string>
using namespace std;
#endif

@interface SomeClass

#ifdef __cplusplus
- (void) setName:(const string&) name;
#endif

@end

还有办法通过使用扩展和类别来避免#ifdef #endif块:

>仅在扩展中声明C的实例变量.
>使用附加的.h-file为使用C类型的方法和属性创建类别.

标签:objective-c-2,c,xcode,objective-c
来源: https://codeday.me/bug/20191009/1877445.html