objective-c – 如何确定Xcode中是否支持模块?

objective-c – 如何确定Xcode中是否支持模块?,第1张

概述当我启用-Weverything自定义编译器标志并且 Xcode支持模块时,它告诉我切换到使用模块 – 所以我改变了这种类型的东西: #import <Foundation/Foundation.h> 对此: @import Foundation; …一切都很好,直到后来有人将我的一个类导入到没有启用模块的遗留项目中,此时他们必须将@import恢复为#import. 我的问题是:是否可以将它们包 当我启用-Weverything自定义编译器标志并且 Xcode支持模块时,它告诉我切换到使用模块 – 所以我改变了这种类型的东西:

#import <Foundation/Foundation.h>

对此:

@import Foundation;

…一切都很好,直到后来有人将我的一个类导入到没有启用模块的遗留项目中,此时他们必须将@import恢复为#import.

我的问题是:是否可以将它们包装在某种预处理器宏中,以便在编译时选择正确的一个?

我希望的例子:

#ifdef MODulES_SUPPORTED    @import Foundation;#else    #import <Foundation/Foundation.h>#endif

谢谢

Jase

解决方法 这是一个老问题,但需要知道如何做到这一点.这是一种方法:

#ifdef __has_feature(modules)    @import Foundation;#else    #import <Foundation/Foundation.h>#endif

参考:CLANG LANGUAGE EXTENSIONS

总结

以上是内存溢出为你收集整理的objective-c – 如何确定Xcode中是否支持模块?全部内容,希望文章能够帮你解决objective-c – 如何确定Xcode中是否支持模块?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1008980.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存