pongasoft / jamba

A lightweight VST2/3 framework
https://jamba.dev/
Apache License 2.0
122 stars 3 forks source link

build fails with linker errors #14

Closed demberto closed 2 years ago

demberto commented 2 years ago

VST SDK version: 3.7.4 Visual Studio: 2022 Windows 10 64bit Created template from your website

Microsoft (R) Build Engine version 17.0.0+c9eb9dd64 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  base.vcxproj -> F:\Prog\Plugins\Notebook\build\lib\Debug\base.lib
  pluginterfaces.vcxproj -> F:\Prog\Plugins\Notebook\build\lib\Debug\pluginterfaces.lib
  sdk_common.vcxproj -> F:\Prog\Plugins\Notebook\build\lib\Debug\sdk_common.lib
  sdk.vcxproj -> F:\Prog\Plugins\Notebook\build\lib\Debug\sdk.lib
  vstgui.vcxproj -> F:\Prog\Plugins\Notebook\build\lib\Debug\vstgui.lib
  vstgui_uidescription.vcxproj -> F:\Prog\Plugins\Notebook\build\lib\Debug\vstgui_uidescription.lib
  vstgui_support.vcxproj -> F:\Prog\Plugins\Notebook\build\lib\Debug\vstgui_support.lib
  jamba.vcxproj -> F:\Prog\Plugins\Notebook\build\lib\Debug\jamba.lib
sdk.lib(moduleinit.obj) : error LNK2005: "bool __cdecl DeinitModule(void)" (?DeinitModule@@YA_NXZ) already defined in N
otebook_VST3.obj [F:\Prog\Plugins\Notebook\build\demberto_Notebook.vcxproj]
sdk.lib(moduleinit.obj) : error LNK2005: "bool __cdecl InitModule(void)" (?InitModule@@YA_NXZ) already defined in Noteb
ook_VST3.obj [F:\Prog\Plugins\Notebook\build\demberto_Notebook.vcxproj]
     Creating library F:/Prog/Plugins/Notebook/build/lib/Debug/demberto_Notebook.lib and object F:/Prog/Plugins/Noteboo
  k/build/lib/Debug/demberto_Notebook.exp
F:\Prog\Plugins\Notebook\build\VST3\Debug\demberto_Notebook.vst3 : fatal error LNK1169: one or more multiply defined sy
mbols found [F:\Prog\Plugins\Notebook\build\demberto_Notebook.vcxproj]
Error: Command "build" [cmake --build . --config Debug --target jmb_build_vst3] failed with error code 1

In your requirements page you mention that Jamba uses 3.7.1. Is Jamba locked to that particular version?

EDIT: It works with VST 3.7.1 SDK, maybe you should mention it specifically in your docs that only the provided build of VST 3.7.1 works

ypujante commented 2 years ago

The requirement page is pretty clear that Jamba uses VST 3.7.1 but I can try to make it even clearer that it does not support beyond that. I have discussed the reasons for not upgrading (yet) in the Jamba Slack forum. I spent quite a bit of time trying to upgrade to 3.7.2 when it was released just to find out that it was a completely broken version of the VST3 SDK (see my posts in the Steinberg forum) and due to the deprecation of xml for json and other reasons I have not ported it yet to the latest.

Most VST3 SDK release (point release no less...) comes with non backward compatible changes, most of them never even mentioned in the release notes and to be frank not really any new/must have feature (nobody ever asked to replace xml with json...). Jamba goal is to mitigate this kind of under the cover changes for its users so that when you upgrade to a more recent version of Jamba, it just works or there are migration steps clearly explained on what you need to do to upgrade.

I will get to it, it is just a lot of work since I need to find a solution to be able to continue supporting xml. I haven't had the bandwidth to dedicate to it yet.

That being said, if there are any features that you absolutely need please let me know.

demberto commented 2 years ago

I can't agree more with what you said. VST3 SDK and its devs are a joke, 3 year old issues don't have a single reply. Infact, I just switched over to JUCE and its much much faster and easier to develop and spend time on things that actually matter. I am closing this issue.