OpenCV with Objective C vs Objective C++

OpenCV with Objective C vs Objective C++

本文关键字:Objective C++ vs OpenCV with      更新时间:2023-10-16

当使用OpenCV for iOS项目时,互联网上的大多数文章都建议将.m更改为.mm

但是,由于目标 C 是C++的严格超集,为什么我们需要进行此更改?更糟糕的是,如果不将.m更改为.mm#import <opencv2/opencv.hpp>就会失败

Objective-C 不是C++的超集。 将 .m 更改为 .mm 会将文件从 Objective-C 更改为 Objective-C++,这是C++的超集。

编译器需要知道正在处理什么类型的代码。

通过使用 .mm,编译器需要 Obj-C 和 C++。通过使用 .m,它只期望 Obj-C

根据文件扩展名,编译的处理方式不同。