Need help to build VST plugin with Code::Blocks and the Steinberg VST SDK 3.60

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hello, I'm new in VST development and I want to learn how to make VST plugin. To do this, I downloaded the Steinberg VST SDK 3.60 and I am trying to build the AGain example.

Firstly, I tried to build AGain with the Code::Blocks IDE, MSVC12 toolchain, and with this tutorial : http://learnvst.wordpress.com/old-site/ ... -examples/
It's compiling, but it's fail during linking: unsolved external symbol GetPluginFactory
==> Something is missing, I think

Secondly, I used Code::Blocks IDE and MSVC12 toolchain again, but this time I tried to import VC10 project provided with the example. It's compiling but there is many undefined symbol during linking
==> Something is missing, I think

I tried to open the VC10 project with the IDE of visual studio 2013 express, It builds correctly, but I really don't want to use this IDE, I find it unintuitive and not easy to understand and use.

So, what is missing? What files need to be compiled ?

Post

Nobody can help me ? After looking at the visual studio project for a long time, I understood that when you open a vst project, it automatically open other project to build some needed library. this library project basenamed are "base" (VST3 SDK\base) and "vst2wrapper" (VST3 SDK\public.sdk\source\vst\vst2wrapper).

So I tried to build "base" library in a code::block project but I get many Warning about casting and truncation. Something is wrong but Maybe I missed a compiler flag ?

Is there a way to know which flags (i means ALL FLag) are used in visual studio IDE ? See outputed compiler commands will be the best way, but I don't know to do that with visual studio IDE.

Post

i doubt the vst3 sdk comes with C::B projects (.cbp) so it probably has MSVC projects instead
you can try loading those in C::B (it can import various other IDE projects, not perfect but at least something to start with)
other than that, you should know that vst3 is not well accepted around here... most of the devs stick to vst2
that would explain the silence
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.libera.chat >>> #kvr

Post

i doubt the vst3 sdk comes with C::B projects (.cbp) so it probably has MSVC projects instead
you can try loading those in C::B (it can import various other IDE projects, not perfect but at least something to start with)
It's already what i do, sorry if I didn't mention that. And that's true the systems import is not perfect, i need to set up manually some options.
other than that, you should know that vst3 is not well accepted around here... most of the devs stick to vst2
that would explain the silence
Unfortunatelly, the vst2 SDK is not available anymore on steinberg website. But in his VST3 SDK, Steinberg provide a "vst2wrapper" to produce vst2 dll.

I would really help me to see what commands are used during the building process of visual studio project.

Post

The VST3 SDK contains all files needed for building VST2 plugins. All you need to do (if I didn't forget anything) is to add the "VST3 SDK" directory to your header search paths and add the cpp files in "VST3 SDK/public.sdk/source/vst2.x" to your project for compiling.

Post

The VST3 SDK contains all files needed for building VST2 plugins. All you need to do (if I didn't forget anything) is to add the "VST3 SDK" directory to your header search paths and add the cpp files in "VST3 SDK/public.sdk/source/vst2.x" to your project for compiling.
This is what i did when i followed this tutorial => http://learnvst.wordpress.com/old-site/ ... -examples/

I get error during linking. Maybe, it's because my "AGain" sources are not written for VST2 framework.

Post

antto wrote:you should know that vst3 is not well accepted around here... most of the devs stick to vst2
that would explain the silence
I am pretty frustrated with Steinberg - both as a USER and as a VST developer.

Their newer products, like Wavelab 8, don't seem to get along with many VST2 plugins - even ones bundled with WL8. And VST3 plugins - with the new file structure - are a pain to manage IMHO (I liked the old, simple, "drop the dll in the VSTPlugins folder" approach).

I would rather spend time developing great DSP code instead of screwing around with VST3 installers, host incompatibilities, etc., but that's just my 2 cents.

Anyhow, I guess that ship has sailed and now we are pretty much forced to VST3. Instead of fighting it I suggest we pool our knowledge and experiences here to get through it - like we once did/still do with VST2.

There are many expert developers on this forum that write great VST3 plugins (I've purchased many of them) and they work well. Hopefully they will help us out.

Post

i'm not one of them, sorry
i don't have/care about VST3 as of now :shrug:
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.libera.chat >>> #kvr

Post

As user I don't care too about vst3. I use reaper, and it don't support VST3. If i pay attention to VST3, it's only due the steinberg SDK and his examples and because the Steinberg SDK seems to allow to produce vst3 and vst2 transparantly ( i mean without rewriting sources files).


and other question that i don't solved : how to see commands used during comiling process of visual studio express 2013 ? this would help me to export the project to code::blocks

notes : i hear something about the "devenv" command, but it does'nt exist with visual studio express

Post

In the project properties, you have the command line for compiling and linking stages.

Post

Thanks to another forum, I found today the way to get the command used to build a project. It's in a log file which is with the .obj, but only with a certain level of detail.

I didn't try yet to build a vst with codeblocks, I'd let you know if it works.

Post

Ok, i managed to build the AGain project with code::block. I was long because i needed actually to recreate 3 project in code::blocks : 2 project for some lib and one project for the AGain VST2 itself. I picked compiler options from the log files and putted in my projects. I don't what does some options, but I discovered that in the original visual studio project, some options were misused(debuging symbol with optimization).

My next step is to learn how to create very simple VST without a GUI

Post Reply

Return to “DSP and Plugin Development”