Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot build on FreeBSD #2

Open
probonopd opened this issue Mar 3, 2023 · 11 comments
Open

Cannot build on FreeBSD #2

probonopd opened this issue Mar 3, 2023 · 11 comments
Labels
bug Something isn't working

Comments

@probonopd
Copy link
Owner

% sed -i '' -e 's|stat64|stat|g'  make_helpers/juce_SimpleBinaryBuilder.cpp
% gmake                                                                    
Compiling make_helpers/juce_SimpleBinaryBuilder.cpp
Linking build/juce_simple_binary_builder
Compiling include_juce_gui_extra.cpp
Compiling juce_LinuxSubprocessHelperBinaryData.cpp
Linking NewProject - Shared Code
Linking NewProject - Standalone Plugin
/usr/local/bin/x86_64-unknown-freebsd13.1-ld: build/MultiDexed.a(PluginProcessor_a059e380.o): in function `PluginAudioProcessor':
MultiDexed/Builds/LinuxMakefile/../../Source/PluginProcessor.cpp:20: undefined reference to `juce::VST3PluginFormat::VST3PluginFormat()'
/usr/local/bin/x86_64-unknown-freebsd13.1-ld: MultiDexed/Builds/LinuxMakefile/../../Source/PluginProcessor.cpp:28: undefined reference to `juce::VST3PluginFormat::~VST3PluginFormat()'
/usr/local/bin/x86_64-unknown-freebsd13.1-ld: MultiDexed/Builds/LinuxMakefile/../../Source/PluginProcessor.cpp:28: undefined reference to `juce::VST3PluginFormat::~VST3PluginFormat()'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake: *** [Makefile:121: build/MultiDexed] Error 1
@probonopd probonopd added the bug Something isn't working label Mar 3, 2023
@probonopd
Copy link
Owner Author

This symbol is defined in
JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp. So why doesn't the linker find it?

@probonopd
Copy link
Owner Author

As a workaround, disable JUCE_PLUGINHOST_VST3 in Projucer under juce_audio_processors, and enable JUCE_PLUGINHOST_VST. Also see #3.

@probonopd
Copy link
Owner Author

probonopd commented Mar 4, 2023

I built Projucer from the develop branch https://github.com/juce-framework/JUCE/tree/develop. It seems to run well on FreeBSD, and it seems to be able to produce "Linux" (read: GNU Makefile) targets.

However, it seems like for FreeBSD one has to use a special VST3 SDK that is compatible with FreeBSD.

But when setting "JUCE_CUSTOM_VST3_SDK" to "Enabled" in Projucer and entering /usr/local/include/vst3sdk under "Header Search Paths", then I get:

% gmake
Compiling include_juce_audio_plugin_client_VST3.cpp
In file included from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:8:
In file included from JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:26:
In file included from JUCE/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:42:
JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:86:11: error: 'base/source/fstring.h' file not found with <angled> include; use "quotes" instead
 #include <base/source/fstring.h>
          ^~~~~~~~~~~~~~~~~~~~~~~
          "base/source/fstring.h"
In file included from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:8:
In file included from JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:26:
In file included from JUCE/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:42:
In file included from JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:86:
JUCE/modules/juce_audio_processors/format_types/base/source/fstring.h:40:10: fatal error: 'pluginterfaces/base/ftypes.h' file not found
#include "pluginterfaces/base/ftypes.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.

If I git clone https://github.com/steinbergmedia/vst3sdk/ --recursive and set its path under "Header Search Paths", then I get:

% gmake clean
Cleaning MultiDexed
% gmake      
Compiling include_juce_audio_plugin_client_VST3.cpp
In file included from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:8:
In file included from JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:26:
In file included from JUCE/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:42:
JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:86:11: error: 'base/source/fstring.h' file not found with <angled> include; use "quotes" instead
 #include <base/source/fstring.h>
          ^~~~~~~~~~~~~~~~~~~~~~~
          "base/source/fstring.h"
In file included from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:8:
In file included from JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:26:
In file included from JUCE/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:42:
In file included from JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:86:
JUCE/modules/juce_audio_processors/format_types/base/source/fstring.h:40:10: fatal error: 'pluginterfaces/base/ftypes.h' file not found
#include "pluginterfaces/base/ftypes.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
gmake: *** [Makefile:170: build/intermediate/Debug/include_juce_audio_plugin_client_VST3_dd633589.o] Fehler 1
% readlink -f ../../vst3sdk
vst3sdk
% gmake clean
Cleaning MultiDexed
% gmake                    
Compiling include_juce_audio_plugin_client_VST3.cpp
In file included from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:8:
In file included from JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:26:
In file included from JUCE/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:42:
In file included from JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:86:
In file included from vst3sdk/base/source/fstring.h:42:
In file included from vst3sdk/pluginterfaces/base/istringresult.h:19:
vst3sdk/pluginterfaces/base/funknown.h:230:17: error: expected ';' after top level declarator
int32 PLUGIN_API atomicAdd (int32& value, int32 amount);
                ^
                ;
vst3sdk/pluginterfaces/base/funknown.h:384:2: error: 'virtual' can only appear on non-static member functions
        virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) = 0;
        ^
vst3sdk/pluginterfaces/base/funknown.h:384:28: error: expected ';' at end of declaration list
        virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) = 0;
                                  ^
                                  ;
vst3sdk/pluginterfaces/base/funknown.h:389:2: error: 'virtual' can only appear on non-static member functions
        virtual uint32 PLUGIN_API addRef () = 0;
        ^
vst3sdk/pluginterfaces/base/funknown.h:389:17: error: duplicate member 'PLUGIN_API'
        virtual uint32 PLUGIN_API addRef () = 0;
                       ^
vst3sdk/pluginterfaces/base/funknown.h:384:18: note: previous declaration is here
        virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) = 0;
                        ^
vst3sdk/pluginterfaces/base/funknown.h:389:27: error: expected ';' at end of declaration list
        virtual uint32 PLUGIN_API addRef () = 0;
                                 ^
                                 ;
vst3sdk/pluginterfaces/base/funknown.h:393:2: error: 'virtual' can only appear on non-static member functions
        virtual uint32 PLUGIN_API release () = 0;
        ^
vst3sdk/pluginterfaces/base/funknown.h:393:17: error: duplicate member 'PLUGIN_API'
        virtual uint32 PLUGIN_API release () = 0;
                       ^
vst3sdk/pluginterfaces/base/funknown.h:384:18: note: previous declaration is here
        virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) = 0;
                        ^
vst3sdk/pluginterfaces/base/funknown.h:393:27: error: expected ';' at end of declaration list
        virtual uint32 PLUGIN_API release () = 0;
                                 ^
                                 ;
vst3sdk/pluginterfaces/base/funknown.h:507:26: error: no member named 'queryInterface' in 'Steinberg::FUnknown'
        if (unknown && unknown->queryInterface (getTUID<I> (), (void**)&this->ptr) != kResultOk)
                       ~~~~~~~  ^
vst3sdk/pluginterfaces/base/funknown.h:516:26: error: no member named 'queryInterface' in 'Steinberg::FUnknown'
        if (unknown && unknown->queryInterface (getTUID<I> (), (void**)&newPtr) == kResultOk)
                       ~~~~~~~  ^
vst3sdk/pluginterfaces/base/funknown.h:558:7: error: no member named 'release' in 'Steinberg::FUnknown'
                        u->release ();
                        ~  ^
In file included from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:8:
In file included from JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:26:
In file included from JUCE/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:42:
In file included from JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:86:
In file included from vst3sdk/base/source/fstring.h:42:
vst3sdk/pluginterfaces/base/istringresult.h:35:2: error: 'virtual' can only appear on non-static member functions
        virtual void PLUGIN_API setText (const char8* text) = 0;    
        ^
vst3sdk/pluginterfaces/base/istringresult.h:35:15: error: field has incomplete type 'void'
        virtual void PLUGIN_API setText (const char8* text) = 0;    
                     ^
vst3sdk/pluginterfaces/base/istringresult.h:35:25: error: expected ';' at end of declaration list
        virtual void PLUGIN_API setText (const char8* text) = 0;    
                               ^
                               ;
vst3sdk/pluginterfaces/base/istringresult.h:54:2: error: 'virtual' can only appear on non-static member functions
        virtual void PLUGIN_API setText8 (const char8* text) = 0;    
        ^
vst3sdk/pluginterfaces/base/istringresult.h:54:15: error: field has incomplete type 'void'
        virtual void PLUGIN_API setText8 (const char8* text) = 0;    
                     ^
vst3sdk/pluginterfaces/base/istringresult.h:54:25: error: expected ';' at end of declaration list
        virtual void PLUGIN_API setText8 (const char8* text) = 0;    
                               ^
                               ;
vst3sdk/pluginterfaces/base/istringresult.h:56:2: error: 'virtual' can only appear on non-static member functions
        virtual void PLUGIN_API setText16 (const char16* text) = 0;
        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
gmake: *** [Makefile:170: build/intermediate/Debug/include_juce_audio_plugin_client_VST3_dd633589.o] Fehler 1

What gives?

@probonopd
Copy link
Owner Author

When I change the JUCE path and JUCE modules path in Projucer to the FreeBSD-provided /usr/local/include/JUCE-7.0.3, then I get:

% gmake
Compiling include_juce_audio_plugin_client_VST3.cpp
In file included from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:8:
In file included from /usr/local/include/JUCE-7.0.3/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:26:
In file included from /usr/local/include/JUCE-7.0.3/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:42:
/usr/local/include/JUCE-7.0.3/modules/juce_audio_processors/format_types/juce_VST3Headers.h:29:3: error: To build JUCE VST3 plug-ins on BSD you must use an external BSD-compatible VST3 SDK with JUCE_CUSTOM_VST3_SDK=1
 #error To build JUCE VST3 plug-ins on BSD you must use an external BSD-compatible VST3 SDK with JUCE_CUSTOM_VST3_SDK=1
  ^
1 error generated.
gmake: *** [Makefile:170: build/intermediate/Debug/include_juce_audio_plugin_client_VST3_dd633589.o] Fehler 1

@probonopd
Copy link
Owner Author

Maybe @yurivict knows?

@yurivict
Copy link

yurivict commented Mar 4, 2023

I just updated the devel/juce port to 7.0.5 - please try to build with it.

@probonopd
Copy link
Owner Author

Thanks @yurivict. Does building the 7.0.5 port with the examples (make config, check the checkbox) work for you?

@probonopd
Copy link
Owner Author

probonopd commented Mar 4, 2023

With the JUCE 7.0.5 port, when setting "JUCE_CUSTOM_VST3_SDK" to "Enabled" in Projucer and entering /usr/local/include/vst3sdk under "Header Search Paths", then I get:

% gmake -j8  
Compiling PluginEditor.cpp
Compiling include_juce_audio_plugin_client_ARA.cpp
Compiling include_juce_audio_formats.cpp
Compiling include_juce_audio_devices.cpp
Compiling include_juce_audio_plugin_client_VST3.cpp
Compiling include_juce_audio_plugin_client_utils.cpp
Compiling PluginProcessor.cpp
Compiling include_juce_audio_basics.cpp
In file included from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:8:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:26:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:42:
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/juce_VST3Headers.h:86:11: fatal error: 'base/source/fstring.h' file not found
 #include <base/source/fstring.h>
          ^~~~~~~~~~~~~~~~~~~~~~~
Compiling include_juce_audio_processors.cpp                                                    
1 error generated.
gmake: *** [Makefile:169: build/intermediate/Debug/include_juce_audio_plugin_client_VST3_dd633589.o] Error 1
gmake: *** Waiting for unfinished jobs....

And without setting that I get:

% gmake -j8  
Compiling PluginProcessor.cpp
Compiling include_juce_audio_plugin_client_utils.cpp
Compiling include_juce_audio_formats.cpp
Compiling include_juce_audio_devices.cpp
Compiling include_juce_audio_plugin_client_ARA.cpp
Compiling include_juce_audio_basics.cpp
Compiling include_juce_audio_plugin_client_VST3.cpp
Compiling PluginEditor.cpp
In file included from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:8:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:26:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:42:
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/juce_VST3Headers.h:29:3: error: To build JUCE VST3 plug-ins on BSD you must use an external BSD-compatible VST3 SDK with JUCE_CUSTOM_VST3_SDK=1
 #error To build JUCE VST3 plug-ins on BSD you must use an external BSD-compatible VST3 SDK with JUCE_CUSTOM_VST3_SDK=1
  ^
Compiling include_juce_audio_processors.cpp                                                    
In file included from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:8:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:26:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:42:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/juce_VST3Headers.h:86:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h:42:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h:19:
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:222:17: error: expected ';' after top level declarator
int32 PLUGIN_API atomicAdd (int32& value, int32 amount);
                ^
                ;                                                                              
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:370:2: error: 'virtual' can only appear on non-static member functions
        virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) = 0;
        ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:370:28: error: expected ';' at end of declaration list
        virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) = 0;
                                  ^
                                  ;                                                            
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:375:2: error: 'virtual' can only appear on non-static member functions
        virtual uint32 PLUGIN_API addRef () = 0;
        ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:375:17: error: duplicate member 'PLUGIN_API'
        virtual uint32 PLUGIN_API addRef () = 0;
                       ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:370:18: note: previous declaration is here
        virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) = 0;
                        ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:375:27: error: expected ';' at end of declaration list
        virtual uint32 PLUGIN_API addRef () = 0;
                                 ^
                                 ;                                                             
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:379:2: error: 'virtual' can only appear on non-static member functions
        virtual uint32 PLUGIN_API release () = 0;
        ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:379:17: error: duplicate member 'PLUGIN_API'
        virtual uint32 PLUGIN_API release () = 0;
                       ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:370:18: note: previous declaration is here
        virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) = 0;
                        ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:379:27: error: expected ';' at end of declaration list
        virtual uint32 PLUGIN_API release () = 0;
                                 ^
                                 ;                                                             
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:493:26: error: no member named 'queryInterface' in 'Steinberg::FUnknown'
        if (unknown && unknown->queryInterface (getTUID<I> (), (void**)&this->ptr) != kResultOk)
                       ~~~~~~~  ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:502:26: error: no member named 'queryInterface' in 'Steinberg::FUnknown'
        if (unknown && unknown->queryInterface (getTUID<I> (), (void**)&newPtr) == kResultOk)
                       ~~~~~~~  ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:544:7: error: no member named 'release' in 'Steinberg::FUnknown'
                        u->release ();
                        ~  ^
In file included from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:8:       
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:26:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:42:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/juce_VST3Headers.h:86:
In file included from /usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h:42:
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h:35:2: error: 'virtual' can only appear on non-static member functions
        virtual void PLUGIN_API setText (const char8* text) = 0;    
        ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h:35:15: error: field has incomplete type 'void'
        virtual void PLUGIN_API setText (const char8* text) = 0;    
                     ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h:35:25: error: expected ';' at end of declaration list
        virtual void PLUGIN_API setText (const char8* text) = 0;    
                               ^
                               ;                                                               
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h:54:2: error: 'virtual' can only appear on non-static member functions
        virtual void PLUGIN_API setText8 (const char8* text) = 0;    
        ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h:54:15: error: field has incomplete type 'void'
        virtual void PLUGIN_API setText8 (const char8* text) = 0;    
                     ^
/usr/local/include/JUCE-7.0.5/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h:54:25: error: expected ';' at end of declaration list
        virtual void PLUGIN_API setText8 (const char8* text) = 0;    
                               ^
                               ;                                                               
fatal error: too many errors emitted, stopping now [-ferror-limit=]                            
20 errors generated.
gmake: *** [Makefile:169: build/intermediate/Debug/include_juce_audio_plugin_client_VST3_dd633589.o] Error 1
gmake: *** Waiting for unfinished jobs....

Similar when I git clone https://github.com/steinbergmedia/vst3sdk/ --recursive and use that path.

@yurivict had you succeeded in building this repo, or just generally asked me to try 7.0.5? In any case, thanks for your help. I really appreciate it.

@yurivict
Copy link

yurivict commented Mar 5, 2023

The relevant patches were in this PR created by me: juce-framework/JUCE#881

They closed it because they merged some other BSD patches, but the ones relevant for demos were left out, particularly in modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h.

I just don't have time to resubmit patches over and over again.

@yurivict
Copy link

yurivict commented Mar 5, 2023

I asked JUCE maintainers to merge remaining patches.

@probonopd probonopd changed the title Cannot build: undefined reference to 'juce::VST3PluginFormat::~VST3PluginFormat()' Cannot build on FreeBSD Mar 5, 2023
@yurivict
Copy link

yurivict commented Mar 5, 2023

vst3sdk has no install target (steinbergmedia/vst3sdk#77), so users are reluctant to integrate it properly, or just copy it in, instead of doing something like find_package(vst3sdk). JUCE has some portions of vst3sdk copied in but it appears to be broken, or incomplete or outdated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants