使用C ++ 17构建ios应用程序?

阿克

最新的XCode clang支持c ++ 17,但是我不确定较旧的iOS设备(例如,iPhone5,iPhone6)是否具有libc++支持该功能库。有没有一种方法可以找出我是否可以使用C ++ 17来构建支持所有受支持的iOS版本的ios应用程序?

参考:仍支持带有iOS12的iPhone5 https://support.apple.com/guide/iphone/supported-models-iphe3fa5df43/12.0/ios/12.0

路易·狄昂

在某种程度上,答案是肯定的。如果您要重新部署到较旧的操作系统,则可以使用C ++ 17中的某些功能,而其他则无法使用。尝试使用它,如果部署目标上不存在该错误,则会出现编译器错误。这就要求告诉编译器您的部署目标,通常是这样做的-mios-version-min=<version>(或与其他平台类似)。

具体来说,早于附带的支持的第一个版本的操作系统将不支持在X系统库(libc++.dylib)中实现的功能不需要任何种类的库支持的任何东西,即全部在头文件中实现的东西都可以使用。libc++.dylibX

我们在libc ++标头中维护可用性标记,以在您使用可能会破坏部署目标的内容时进行标记。这是通过使用__attribute__((availability(ios,strict,introduced=<VERSION>)))依赖于共享库中某些内容的属性(如声明)来完成的编译器会完成其余的工作-如果您尝试使用在指定的部署目标中未“引入”的声明,它将让您知道。

编辑:以上以iOS为例,但这适用于macOS,watchOS和所有其他Apple平台。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Gradle构建JavaFX应用程序

提交到App Store的应用程序和应用程序更新必须使用Xcode 5.1.1或更高版本以及iOS 7 SDK构建

如何使用Xamarin for Visual Studio 2013为iOS应用程序构建IPA文件

如何使用Ionic Framework在ubuntu中构建ios应用程序?

使用iOS 10 SDK构建的应用程序在iOS 8上运行时崩溃

使用Docker构建应用程序堆栈

使用VSTS构建离子应用程序并将其部署到android和iOS

如何使用现有的ASP.net控制台应用程序构建android和ios应用程序

使用Maven构建Corda应用程序

使用Xcode 10构建ios ionic应用程序时Missinig provisoning配置文件错误

在Cordova应用程序中使用Aurelia UX(无法为iOS构建)

使用iOS 12.1 SDK构建本机脚本应用程序时出现问题

使用应用程序加载程序上传应用程序时出错:错误ITMS-90725:“ SDK版本问题。此应用程序是使用iOS 11.4 SDK构建的

使用firebase-auth时在ios上构建应用程序会导致抖动问题

使用Xcode构建iOS应用程序有效,但使用xcodebuild命令构建同一应用程序失败

将使用Clang构建的库添加到使用GCC构建的iOS应用程序时出现链接错误

使用CLLocationManager并针对ios7构建的应用程序将在ios8上运行?

使用Android Studio构建的应用程序Apk大于使用Eclipse构建的应用程序Apk

使用GULP构建主干应用程序

是否可以使用过时的Mac为最新的iOS构建应用程序?

使用 Visual Studio 构建的 Apple、iOS 和 32+64 位应用程序

Flutter 不使用 Firestore 构建 iOS 应用程序

MetaWear:无法构建在 IOS 应用程序中使用的 Cocoapod

如何设置 Jenkins 以构建使用 Carthage 的 React Native iOS 应用程序?

使用 QtCreator 构建应用程序 iOS 时出错

使用 forcereact 创建的 Salesforce React Native 示例应用程序无法在 iOS 中构建,但不能在 Android 中构建

如何使用 Azure Pipelines 和 F# 5 构建 Xamarin.Forms iOS 应用程序

我可以编写一个 Android 应用程序,然后使用 react-native 构建一个 IOS 应用程序吗?

无法构建使用 inappbrowser 的应用程序