在Linux上编译VST插件是否可行?

7
为了完成一个课程项目,我试图编写一个由CUDA支持的VST插件。我的当前CUDA工作流在Linux系统上,因此我更喜欢在那里进行编译和链接。 根据维基百科的介绍,这应该是可能的(我找不到与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
2
@Rup 问题在于VST SDK基本上认为只有两个平台存在,即Windows和Mac。由于该平台未定义“WINDOWS”,因此会在Linux上意外处理大量预处理器指令。 - Nik Reiman
1个回答

6
jVSTwrapper似乎可以在Linux上运行,但目前只支持2.4 SDK。实际上,这是一个更安全的选择,因为不太多的主机已经完全支持VST3,并且2.4 SDK是比较通用的。您可能会更容易地在Linux下使用该SDK进行构建,但仍需要一些修补。
无论如何,这里有一些论坛链接(1, 2)供您开始阅读。
编辑:我之前也写过关于这个的博客,或许对任何未来从Google访问的人有用。

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


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接