Qt GUI environment in a DLL (VST Plugin)

Are you going down a bad route with this? Not necessarily, if you are developing a free VST plugin; or are a successful commercial plugin developer. However, as much as I like Qt for general software development, it is not especially well suited to VST development. Its licensing is such that you can't statically link a DLL with its libraries for commercial use, unless you pay for it; and it is quite expensive. When they made it LGPL, it made it so you can put all your dependencies, which easily runs into over a dozen DLL's, for stand-alone, commercial programs in a target program or DLL directory, and it will run and you can sell it commercially; without buying a license.

VST users are used to moving DLL's around willy-nilly so as to move effects around; and they can't have just one to move around under LGPL. Littering directories with lots of extra DLL's to scan makes the scanning process slower. Having lots of dependencies in the folder with your VST plugin will not work very well for commercial plugins the way it will for other commercial plugins; because you can't produce a plugin in a single DLL and statically link it with the Qt libraries without paying a lot for Qt, or making it GPL or some such.

Edit: One argument against it was that Qt does string compares for its signals and slots. The new way of doing signals and slots, using the new connect overloads, does NOT rely on strings.

At a local recording studio, in a Waves plugins installation, I noticed that in the {Waves Install Directory}/Application directory, there are WavesQtLibs folders that have the Qt libraries. It appears that they are using Qt for their applications, but if they are using them for their plugins themselves, they are either statically linking, or not using them. As Waves supports their applications and plugins for multiple platforms, I can see how Qt would be attractive to them. They could afford Qt licenses to develop with, presumably. It appears they are using Qt with DLLs for their applications, which would make it easier to port between operating systems. I don't know if they have a required notice for LGPL use or not. I don't know if they are using Qt statically-linked for their plugins themselves, if they are using the JUCE framework (which, although a bit expensive, is also not gouging its limited user-base on price), or something else.


It seems like your actual problem is using Qt for a VST plugin on mac, since it was reported to work on Windows - see here (full source tree) and here.

There's a successful report of using Qt for VST plugins on mac in the Qt forums, but on the other hand there's an open bug on the same issue.

I know it doesn't answer your question, but I would suggest going with other UI libraries which are better suited for VST plugins, such as JUCE and WDL.