使用未声明的标识符 'kDefaultNative'

Use of undeclared identifier 'kDefaultNative'

我正在尝试使用 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 
};

我试图将此文件包含在 plugugui 文件中,但我一直收到未找到的错误消息。

kDefaultNative 标识符是 scoped enumeration 的值之一(即它在 class enum { ... } 中)。因此,为了使用它,您需要包含 class 'scope'.

所以,使用如下一行:

const PlatformType& platformType = PlatformType::kDefaultNative;