Xcode中Objective-C和C++混编的实现(一)

最近在做一个项目需要把OpenCV 的代码移植到iOS中,在移植过程中遇到了很多问题,其中最关键的就是OC与C++混编的问题,找了很多资料和弯路终于走通了,现在把思路整理好做个笔记.希望能给有需要的朋友一点帮助.


注意:
1.有C++代码的文件必须改成.mm Xcode才可以识别


2.确保编译器是Build Settings->Apple LLVM6.1 - Language->Compile Sources As->已经选择 According to File Type,如果选择了Objective-C++会有很多诡异的编译错误,原因未知,也许和我工程里包含了OpenCV的库有关.





Xcode中Objective-C和C++混编的实现(一)_第1张图片

混编原理:
需要一个NSObject类来封装C++类

CellCountObj     //NSObject 类
HDCCountObj   // C++类

实现原理:
CellCountObj 封装HDCCountObj 的C++类,

调用实现:
在ViewController中调用 CellCountObj类的外部接口,来实现调用 C++类


文件类型列表





你可能感兴趣的:(Xcode中Objective-C和C++混编的实现(一))