是否可以在 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上运行?