C++ 可以在linux上编译VST吗?

C++ 可以在linux上编译VST吗?,c++,linux,vst,C++,Linux,Vst,对于一个类项目,我试图编写一个由CUDA支持的VST插件。我当前的CUDA工作流在Linux机器上,所以我更愿意编译并链接到那里 ,这应该是可能的(我找不到任何与Linux相关的Steinberg文档),但如果您不使用Xcode或Visual Studio,我找不到关于如何构建的Makefile或说明 我相当肯定VST3SDK不支持Linux。 当我尝试在Linux下编译插件时,出现以下错误: ./base/source/fatomic.cpp:39:30: fatal error: libke

对于一个类项目,我试图编写一个由CUDA支持的VST插件。我当前的CUDA工作流在Linux机器上,所以我更愿意编译并链接到那里

,这应该是可能的(我找不到任何与Linux相关的Steinberg文档),但如果您不使用Xcode或Visual Studio,我找不到关于如何构建的Makefile或说明

我相当肯定VST3SDK不支持Linux。 当我尝试在Linux下编译插件时,出现以下错误:

./base/source/fatomic.cpp:39:30: fatal error: libkern/OSAtomic.h: No such file or directory
此问题是由“vst3sdk/base/source/fatomic.cpp”中的以下代码引起的

#如果MAC
#包括
#如果MAC_OS_X_VERSION_MIN_REQUIRED>MAC_OS_X_VERSION_10_4
#定义本机原子类型(volatile int32\u t*)
#否则
#定义本机原子类型(int32\u t*)
#恩迪夫
#视窗
#包括
#恩迪夫
但我希望Linux下的编译可以与VSTSDK2.4一起使用。
感谢阅读。

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

无论如何,这里有一些论坛链接(,)让你开始

编辑:不久前我也在博客上写过这一点,也许这对谷歌未来的访问者会很有用:


您的Linux机箱上是否定义了MAC??它可能是其他东西,例如网卡MAC宏或CUDA。你应该试着找出它被定义的原因,也许在你开始包括VST头文件之前,先取消它的定义。@Rup问题是VST SDK基本上认为只有两个平台存在,windows和mac。有大量的预处理器指令在linux上被“意外”处理,这仅仅是因为该平台没有定义
WINDOWS
。我发现了有趣的消息!
#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