使用未声明的标识符“kDefaultNative”

Posted

技术标签:

【中文标题】使用未声明的标识符“kDefaultNative”【英文标题】:Use of undeclared identifier 'kDefaultNative' 【发布时间】:2021-07-17 15:14:33 【问题描述】:

我正在尝试使用 ASPIK SDK 生成音频插件。我一直碰到同样的绊脚石。每次构建时,我都会在 plugingui.h 文件的这一行中收到错误“使用未声明的标识符 'kDefaultNative'”。

const PlatformType& platformType = kDefaultNative,

如果我跳转到PlatformType 的定义,我会看到kDefaultNative 是在VSTGUI 的iplatformcallback.h 中定义的。

    enum class PlatformType : int32_t 
    kHWND,      // Windows HWND
    kWindowRef, // macOS WindowRef (Carbon)
    kNSView,    // macOS NSView
    kUIView,    // ios UIView
    kHWNDTopLevel,  // Windows HWDN Top Level (non child)
    kX11EmbedWindowID,  // X11 XID
    kGdkWindow, // GdkWindow
    
    kDefaultNative = -1 
;

我已尝试将此文件包含在 plugingui 文件中,但我不断收到未找到的错误。

【问题讨论】:

pluginui.h 是您项目的一部分,还是外部包含的内容? 【参考方案1】:

kDefaultNative 标识符是scoped enumeration 的值之一(即它在class enum ... 中)。因此,为了使用它,您需要包含该类“范围”。

所以,使用如下行:

const PlatformType& platformType = PlatformType::kDefaultNative;

【讨论】:

以上是关于使用未声明的标识符“kDefaultNative”的主要内容,如果未能解决你的问题,请参考以下文章

使用未声明的类型“DKAsset”,使用未解析的标识符“DKImagePickerController”?

使用声明[关闭]的未声明标识符'k'

使用未声明的标识符“top”;您指的是 'pop' 吗?

如何处理`使用未声明的标识符'UIDevice'`

在 CoreLocation 中使用未声明的标识符错误

使用未声明的标识符“NSBundle”