【发布时间】:2011-06-30 22:57:23
【问题描述】:
对于一个类项目,我正在尝试编写一个由 CUDA 支持的 VST 插件。我当前的 CUDA 工作流在 Linux 机器上,所以我更愿意在那里编译和链接。
According to Wikipedia,这应该是可能的(我找不到任何与 Linux 相关的 Steinberg 文档)但如果您不使用 Xcode 或 Visual Studio,我找不到 Makefile 或有关如何构建的说明。
我相当肯定 VST 3 SDK 不支持 Linux。 当我尝试在 Linux 下编译一个插件时,我得到了这个错误:
./base/source/fatomic.cpp:39:30: fatal error: libkern/OSAtomic.h: No such file or directory
此问题是由“VST3 SDK/base/source/fatomic.cpp”中的以下代码引起的
#if MAC
#include <libkern/OSAtomic.h>
#if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4
#define NATIVE_ATOMIC_TYPE (volatile int32_t*)
#else
#define NATIVE_ATOMIC_TYPE (int32_t*)
#endif
#elif WINDOWS
#include <windows.h>
#endif
但我希望在 Linux 下编译可以使用 VST SDK 2.4。 感谢阅读。
【问题讨论】:
-
你的 Linux 机器上是否定义了 MAC?它可能是别的东西,例如网卡MAC宏什么的CUDA。在开始包含 VST 标头之前,您应该尝试找出它被定义的原因,并可能#undef 它。
-
@Rup 问题是VST SDK基本上认为只有2个平台存在,windows和mac。有大量的预处理器指令在 linux 上被“意外”处理,仅仅是因为该平台没有定义
WINDOWS。