"use of undeclared identifier" 'noreturn' 在 xcode 中使用 djinni 时

"use of undeclared identifier" 'noreturn' when using djinni in xcode

我正在使用一个名为 djinni 的库,它连接到我的 iOS 代码并允许我在 iOS 和 Android 中 运行 相同的 c++ 代码。我遇到的问题是我已将它附加到我正在处理的旧 xcode 项目,但我在 djinni 代码中遇到错误。

我看到 4 个错误,全部是 "Use of undeclared identifier 'noreturn'"

可以看到这些的示例是:

namespace djinni {

// Throws an exception for an unimplemented method call.
[[noreturn]] void throwUnimplemented(const char * ctx, NSString * msg);

// Helper function for exception translation. Do not call directly!
[[noreturn]] void throwNSExceptionFromCurrent(const char * ctx);

} // namespace djinni

带有“[[noreturn]]”的两行都会抛出这个错误。有没有我忽略的项目设置?我的 main.m 已重命名为 main.mm,并且所有 djinni 编译源都添加了 -fobjc-arc。

将 c++ 语言方言更新为 -std=c++14 修复了该问题