当我试图编译一个链接到使用新的@import指令的文件的Objective C++文件(.mm)时,我会得到一些错误。目前,我的唯一解决方案是用旧的#import指令替换@import。
是否还有其他解决方案,以便我仍然可以使用@import?
当我试图编译一个链接到使用新的@import指令的文件的Objective C++文件(.mm)时,我会得到一些错误。目前,我的唯一解决方案是用旧的#import指令替换@import。
是否还有其他解决方案,以便我仍然可以使用@import?
编辑: 根据最新文档,现在应该可以工作了。
请参见此处。您需要使用-fcxx-modules
标志而不是-fmodules
标志,但正如官方文档所建议的那样 - 实验性的和非常错误
。我根本没能让它工作... 在我看来,最好还是坚持使用#import
和#include
,直到该功能脱离实验
阶段。
-fcxx-modules
Enable the modules feature for C++ (EXPERIMENTAL and VERY BROKEN).
opencv.hpp
,以避免任何Apple头文件的干扰。例如,在Prefix.pch
中,我进行了如下组织:#ifdef __cplusplus
#include <opencv2/opencv.hpp>
#endif
#import <Availability.h>
我正在使用: