First attempt at generating Visual Studio 2015 VST3 project: Thousands of errors :(

Hi all,

Since Steinberg dropped support for VST2 completely with Cubase 12, we had to start porting our plugins SynthMaster, SynthMaster Player and SynthMaster One to VST3 format. I downloaded the latest SDK ( 3.7.4) on Windows 10, and generated a Visual Studio 2015 project.

When I try to compile the project with Visual Studio, I am getting errors like below:

|Error|C3861|‘back_inserter’: identifier not found|vstgui_uidescription|d:\code\vst_sdk\vst3sdk\vstgui4\vstgui\uidescription\editing\uieditview.cpp|913||

|Error|C3490|‘cardinality’ cannot be modified because it is being accessed through a const object (compiling source file D:\Code\SynthMasterVst3\source\myplugincontroller.cpp)|SynthMasterVst3|d:\code\vst_sdk\vst3sdk\pluginterfaces\base\ipluginbase.h|380||

|Error|C3490|‘classFlags’ cannot be modified because it is being accessed through a const object (compiling source file D:\Code\VST_SDK\vst3sdk\public.sdk\source\vst\hosting\processdata.cpp)|sdk_hosting|d:\code\vst_sdk\vst3sdk\pluginterfaces\base\ipluginbase.h|383||

|Error|C3249|illegal statement or sub-expression for ‘constexpr’ function (compiling source file D:\Code\VST_SDK\vst3sdk\public.sdk\source\vst\testsuite\bus\busconsistency.cpp)|validator|d:\code\vst_sdk\vst3sdk\pluginterfaces\base\ipluginbase.h|380||

I hope there’s an easy fix for the above, most of the errors are about const objects being modified.


Bulent @ KV331 Audio

Hi Bulent,
VS 2015 is not supported. Please see GitHub - steinbergmedia/vst3sdk: VST 3 Plug-In SDK for the system requirements.

1 Like

Thank you very much for your prompt answer Arne! Yes, I realized that when I read the release notes on GitHub, my bad :slight_smile: Compiles fine with VS 2017. Now let’s see if I can run my synth engine without any GUI first. When that works, I’ll incorporate VSTGUI 4.3, but won’t be using the uidescription related stuff. I hope that wouldn’t be an issue. I have a framework developed on top of VSTGUI that loads interfaces from xml files (similar to uidescription, however data model is defined in separate xml file)

Best regards