OpenCV 与 Objective C 与 Objective C++
Posted
技术标签:
【中文标题】OpenCV 与 Objective C 与 Objective C++【英文标题】:OpenCV with Objective C vs Objective C++ 【发布时间】:2014-04-01 22:10:10 【问题描述】:在 ios 项目中使用 OpenCV 时,互联网上的大多数文章都建议将 .m
更改为 .mm
。
然而,既然 Objective C 是 C++ 的严格超集,为什么我们需要做这个改变呢?更糟糕的是,如果不将.m
更改为.mm
,#import <opencv2/opencv.hpp>
会失败
【问题讨论】:
【参考方案1】:Objective-C 不是 C++ 的超集。将 .m 更改为 .mm 会将文件从 Objective-C 更改为 Objective-C++,它是 C++ 的超集。
【讨论】:
【参考方案2】:编译器需要知道正在处理什么类型的代码。
通过使用 .mm,编译器需要 Obj-C 和 C++。 通过使用 .m 它只需要 Obj-C
根据文件扩展名,编译的处理方式不同。
【讨论】:
以上是关于OpenCV 与 Objective C 与 Objective C++的主要内容,如果未能解决你的问题,请参考以下文章