是否可以在 linux 上编译 VST?

Posted

技术标签:

【中文标题】是否可以在 linux 上编译 VST?【英文标题】:Is it possible to compile a VST on linux? 【发布时间】: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 【参考方案1】:

jVSTwrapper 似乎在 linux 上运行,但它们目前只支持 2.4 SDK。实际上,这是一个更安全的选择,因为目前还没有太多主机完全支持 VST3,而且 2.4 SDK 或多或少是通用的。在 linux 下使用该 SDK 构建你可能会更幸运,但它仍然需要一些补丁。

无论如何,这里有一些论坛链接(1、2)可以帮助您入门。

编辑:前段时间我也写过关于这个的博客,也许这对任何来自谷歌的未来访问者都有用:

http://teragonaudio.com/article/Building-VST-plugins-on-Linux.html

【讨论】:

我发现了有趣的消息! cdm.link/2017/03/steinberg-brings-vst-linux-good-things

以上是关于是否可以在 linux 上编译 VST?的主要内容,如果未能解决你的问题,请参考以下文章

请问windows visual studio上编译的C#程序是不是能在linux上运行?

在没有 X 的 Linux 上编译 Qt 应用程序

是否可以在旧 Xcode 上编译最新的 Swift 版本?

在 Lion 上以 32 位在 Xcode4.1 上编译 OpenCV 和 Juce 问题

windows上编译linux程序代码需要用到的头文件

如何在 Windows 上编译 nDPI 库?