此问题已在此处有答案:
How to call functions in c++ and objective-c to each other(1个答案)
6天前关闭。
此帖子5天前编辑并提交审核,未能重新打开帖子:
原始关闭原因未解决
我正在尝试使用C与Objective-C。我的任务迫使我只在跨平台核心中使用C。目标是在不同的平台上重用内核,只重写图形界面。我非常了解Objective-C,也了解一些C++。然而,当我尝试将它们一起使用时,得到了大量的错误。
- 例如:*
CppFile.cpp
#include "ObjCFile.h"
int main() {
ObjCFile *objCFile;
}
ObjCFile.h
#import <UIKit/UIKit.h>
@interface ObjCFile : UIViewController
- (void)showInterface;
...
通过上面的两个文件,我得到了一些看似完全无关的错误,比如undefined NSString
等等。
我试着在Google上寻找这个问题的答案,在StackOverflow上找到了一种方法,但不是很清楚,因为在这种情况下,相同的C类使用了2种方法:1、在国外实施2。在内部实施。内部方法将调用外部方法(来自内部逻辑的C类必须调用它自己实现不同逻辑的方法)。没有责任划分(SOLID)。您可以查看此方法链接How to call functions in c++ and objective-c to each other
1条答案
按热度按时间bprjcwpo1#
如果你在组合两种语言时有太多的错误,你需要在你的C文件中查看
#include
。你不能在C文件中使用include
UIKit或其他特定的库!XCode疯了,显示了数百个错误。要解决这个问题,你需要一个使用Objective-C++的桥。注意细节!
hh(不包括ObjCFile。h!)
Bridge.mm(在此处包含Objective-C头文件)
新建CppFile。人民党
就是这样!
我看过的许多文章都与我的文章相似,但是它们省略了关于XCode库的信息。这让我很困惑