2014-04-01 94 views
-1

當使用OpenCV for iOS項目時,互聯網上的大多數文章建議將.m更改爲.mmOpenCV with Objective C vs Objective C++

但是,由於Objective C是C++的一個嚴格超集,爲什麼我們需要做這個改變?更糟糕的是,如果不更改.m.mm,#import <opencv2/opencv.hpp>失敗

回答

2

Objective-C是不是是C++的超集。將.m更改爲.mm會將文件從Objective-C更改爲Objective-C++,它是C++的超集。

1

編譯器需要知道處理的是哪種類型的代碼。

通過使用.mm,編譯器期望Obj-C和C++。 通過使用.m它只預計Obj-C

根據文件擴展名的不同處理編譯。