我在我的项目中添加了一个框架,在哪里获得我需要实现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类型的方法和属性创建类别.
原文地址:https://codeday.me/bug/20191009/1877445.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。