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++的主要内容,如果未能解决你的问题,请参考以下文章

带有objective-c的opencv和c++ [关闭]

objective-c与C++的区别

C 函数与 Objective-C 方法?

objective-c与C++的区别

call与apply基础用法告诉你

Objective-C基础教程 与 Objective-C2.0程序设计 看那一本好?