Forum
    • Categories
    • Register
    • Login

    Latest develop won't build in VS2022

    Scheduled Pinned Locked Moved Bug Reports
    12 Posts 3 Posters 53 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • OrvillainO
      Orvillain
      last edited by

      Severity	Code	Description	Project	File	Line	Suppression State	Details
      Error	LNK2001	unresolved external symbol "public: class juce::String __cdecl hise::RestServer::Request::operator[](class juce::Identifier const &)const " (??ARequest@RestServer@hise@@QEBA?AVString@juce@@AEBVIdentifier@4@@Z)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "private: void __cdecl hise::RestServer::AsyncRequest::mergeLogsIntoResponse(void)" (?mergeLogsIntoResponse@AsyncRequest@RestServer@hise@@AEAAXXZ)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: void __cdecl hise::RestServer::AsyncRequest::appendError(class juce::String const &,class juce::StringArray const &)" (?appendError@AsyncRequest@RestServer@hise@@QEAAXAEBVString@juce@@AEBVStringArray@5@@Z)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: void __cdecl hise::RestServer::AsyncRequest::appendLog(class juce::String const &)" (?appendLog@AsyncRequest@RestServer@hise@@QEAAXAEBVString@juce@@@Z)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: static struct hise::RestServer::Response __cdecl hise::RestServer::Response::error(int,class juce::String const &)" (?error@Response@RestServer@hise@@SA?AU123@HAEBVString@juce@@@Z)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: static struct hise::RestServer::Response __cdecl hise::RestServer::Response::ok(class juce::var const &)" (?ok@Response@RestServer@hise@@SA?AU123@AEBVvar@juce@@@Z)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: class juce::var __cdecl hise::RestServer::Request::getJsonBody(void)const " (?getJsonBody@Request@RestServer@hise@@QEBA?AVvar@juce@@XZ)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: bool __cdecl hise::RestServer::Request::getTrueValue(class juce::Identifier const &)const " (?getTrueValue@Request@RestServer@hise@@QEBA_NAEBVIdentifier@juce@@@Z)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: void __cdecl hise::RestServer::removeListener(class hise::RestServer::Listener *)" (?removeListener@RestServer@hise@@QEAAXPEAVListener@12@@Z)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: void __cdecl hise::RestServer::addListener(class hise::RestServer::Listener *)" (?addListener@RestServer@hise@@QEAAXPEAVListener@12@@Z)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: int __cdecl hise::RestServer::getPort(void)const " (?getPort@RestServer@hise@@QEBAHXZ)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: bool __cdecl hise::RestServer::isRunning(void)const " (?isRunning@RestServer@hise@@QEBA_NXZ)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: void __cdecl hise::RestServer::stop(void)" (?stop@RestServer@hise@@QEAAXXZ)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: bool __cdecl hise::RestServer::start(int,class juce::String const &)" (?start@RestServer@hise@@QEAA_NHAEBVString@juce@@@Z)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: void __cdecl hise::RestServer::addAsyncRoute(enum hise::RestServer::Method,class juce::URL const &,class std::function<struct hise::RestServer::Response __cdecl(class juce::ReferenceCountedObjectPtr<class hise::RestServer::AsyncRequest>)>)" (?addAsyncRoute@RestServer@hise@@QEAAXW4Method@12@AEBVURL@juce@@V?$function@$$A6A?AUResponse@RestServer@hise@@V?$ReferenceCountedObjectPtr@VAsyncRequest@RestServer@hise@@@juce@@@Z@std@@@Z)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: class juce::URL __cdecl hise::RestServer::getBaseURL(void)const " (?getBaseURL@RestServer@hise@@QEBA?AVURL@juce@@XZ)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: __cdecl hise::RestServer::~RestServer(void)" (??1RestServer@hise@@QEAA@XZ)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: __cdecl hise::RestServer::RestServer(void)" (??0RestServer@hise@@QEAA@XZ)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK2001	unresolved external symbol "public: static void __cdecl hise::RestServer::forceRepaintWindow(void *)" (?forceRepaintWindow@RestServer@hise@@SAXPEAX@Z)	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\include_hi_backend.obj	1		
      Error	LNK1120	19 unresolved externals	HISE Standalone_App	H:\development\HISE\HISE\projects\standalone\Builds\VisualStudio2022\x64\Release\App\HISE.exe	1		
      
      

      Now this I can't diagnose for myself, so I had to use Claude. It says:

      Root Cause: hi_backend_02.cpp is not registered as a JUCE module compilation unit
      The RestServer.cpp implementation is included from two places:
      
      hi_backend.cpp (line 84-86) — includes RestServerUndoManager.h, RestServerUndoManagerActions.cpp, and RestServerUndoManager.cpp — but NOT RestServer.cpp itself
      hi_backend_02.cpp (line 37-38) — includes RestServer.h and RestServer.cpp
      The problem is that hi_backend_02.cpp is a separate compilation unit that is not listed in the JUCE module declaration (see 
      
      hi_backend.h lines 35-47
      ). In JUCE's module system, only the main .cpp file (hi_backend.cpp) is automatically compiled by the Projucer-generated project. Additional .cpp files must be declared with OSXFrameworks:, searchpaths:, or explicitly added to the project.
      
      This is a bug in the HISE source at commit 65e2477. The RestServer.cpp implementation was split into a separate compilation unit (hi_backend_02.cpp) but was never properly registered, so the Projucer/VS project doesn't know to compile it.
      
      Option A: Move the #include into the main compilation unit (recommended)
      Add the RestServer.cpp include into hi_backend.cpp where the rest of the RestServer-related files already live. It logically belongs after line 86:
      
      diff
      #include "backend/ai_tools/RestServerUndoManager.h"
       #include "backend/ai_tools/RestServerUndoManagerActions.cpp"
       #include "backend/ai_tools/RestServerUndoManager.cpp"
      +#include "backend/ai_tools/RestServer.cpp"
       
       #include "backend/ai_tools/RestApiDefinitions.cpp"
      
      Option B: Add hi_backend_02.cpp to the VS project manually
      In Visual Studio, right-click the hi_backend source group → Add Existing Item → add hi_backend_02.cpp. This is fragile and will be lost if the Projucer regenerates the project.
      
      Option A is the correct fix — it was likely an oversight where RestServer.cpp was separated into hi_backend_02.cpp (perhaps to reduce compile times or for a VS2026-specific build configuration) but the module wasn't updated to include it. This is an upstream HISE bug you should report to Christoph Hart or fix in your fork.
      

      @Christoph-Hart

      Musician - Instrument Designer - Sonic Architect - Creative Product Owner
      Crafting sound at every level. From strings to signal paths, samples to systems.

      Christoph HartC 1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart @Orvillain
        last edited by

        @Orvillain looks like you're missing the hi_backend_02 compilation unit. Try deleting the VS solution folder and resave the projucer file, this should recreate the .sln file with the correct layout.

        OrvillainO 1 Reply Last reply Reply Quote 0
        • OrvillainO
          Orvillain @Christoph Hart
          last edited by

          @Christoph-Hart

          hmmmm, oddness aplenty here. I've done that, and I still get this kind of thing:

          error C2653: 'zstd': is not a class or namespace name
            node_ids.h(842) — compiling include_hi_tools_03.cpp
            node_ids.h(937) — compiling include_hi_tools_03.cpp  
            node_ids.h(958) — compiling include_hi_tools_03.cpp
          
          error C2065: 'ZDefaultCompressor': undeclared identifier
            node_ids.h(842) — compiling include_hi_dsp_library_01.cpp
            node_ids.h(937) — compiling include_hi_dsp_library_01.cpp
            node_ids.h(958) — compiling include_hi_dsp_library_01.cpp
          
          (same errors repeated across Main.cpp, include_hi_tools_01.cpp)
            
          

          Claude said this:

          Not set anywhere in your project. This confirms the DLL project inherits the default HISE_INCLUDE_SCRIPTNODE_DATABASE=1, which pulls in zstd code without the zstd module.
          
          Tell Christoph specifically:
          
          The zstd error is in the DspNetworks DLL project (from compile_networks), not the HISE Standalone. hi_dsp_library.h defaults HISE_INCLUDE_SCRIPTNODE_DATABASE=1, which causes node_ids.h to use zstd::ZDefaultCompressor at lines 842/937/958. But the DLL project template (ProjectDllTemplate.cpp) doesn't include hi_zstd. Either the DLL template needs hi_zstd added, or HISE_INCLUDE_SCRIPTNODE_DATABASE should default to 0 for DLL builds.
          
          The three call sites are in NodeDatabase::ProjectData (line 842), ProjectData::writeProjectData (line 937), and NodeDatabase::Data (line 958).
          
          Either the DLL project template needs hi_zstd added, or HISE_INCLUDE_SCRIPTNODE_DATABASE should be set to 0 for DLL builds, or the zstd:: calls need a guard like #if HISE_INCLUDE_ZSTD.
          

          I already tried deleting the VS solution folder and resaving the Projucer file — same result.

          Sorry - wish I could be more thorough, but I don't know anything about this side of HISE!

          Musician - Instrument Designer - Sonic Architect - Creative Product Owner
          Crafting sound at every level. From strings to signal paths, samples to systems.

          Christoph HartC 1 Reply Last reply Reply Quote 0
          • Christoph HartC
            Christoph Hart @Orvillain
            last edited by

            @Orvillain ah yes sorry that‘s a different error - I‘m currently in the middle of rewriting the build pipeline on every OS so it‘s expected that something is glitchy - in this case the scriptnode database flag should be zero on dll builds.

            OrvillainO 1 Reply Last reply Reply Quote 0
            • OrvillainO
              Orvillain @Christoph Hart
              last edited by

              @Christoph-Hart said in Latest develop won't build in VS2022:

              @Orvillain ah yes sorry that‘s a different error - I‘m currently in the middle of rewriting the build pipeline on every OS so it‘s expected that something is glitchy - in this case the scriptnode database flag should be zero on dll builds.

              Okie dokie. I'm now at this point:

              Christoph confirmed our fix — HISE_INCLUDE_SCRIPTNODE_DATABASE=0 in ProjectDllTemplate.cpp is correct. ✅
              
              But there's still a second blocker: the Projucer's VS2026 exporter silently fails to create the VisualStudio2026 output folder. When we rebuild HISE with the template fix, compile_networks will still fail because Projucer can't generate the .sln.
              
              You should tell Christoph:
              
              The HISE_INCLUDE_SCRIPTNODE_DATABASE=0 fix is applied. But there's a second issue: the Projucer in JUCE_customized silently fails when processing the <VS2026> exporter — it creates no Windows output folder at all. The class MSVCProjectExporterVC2026 exists in jucer_ProjectExport_MSVC.h and is registered in jucer_ProjectExporter.cpp, but --resave produces only MacOSX and LinuxMakefile outputs, no VisualStudio2026 folder.
              

              I'm happy to dig in and help debug this, limited as my capabilities are!

              Musician - Instrument Designer - Sonic Architect - Creative Product Owner
              Crafting sound at every level. From strings to signal paths, samples to systems.

              David HealeyD 1 Reply Last reply Reply Quote 0
              • David HealeyD
                David Healey @Orvillain
                last edited by

                @Orvillain said in Latest develop won't build in VS2022:

                Okie dokie. I'm now at this point:

                I would build an older commit. Or is there something you need specifically from the bleeding edge?

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                OrvillainO 1 Reply Last reply Reply Quote 0
                • OrvillainO
                  Orvillain @David Healey
                  last edited by

                  @David-Healey said in Latest develop won't build in VS2022:

                  @Orvillain said in Latest develop won't build in VS2022:

                  Okie dokie. I'm now at this point:

                  I would build an older commit. Or is there something you need specifically from the bleeding edge?

                  Well I've ended up down a rabbit hole for sure! lolololol.

                  I started off on an older build, and hit the original VS2022 versus VS2026 and our CI build system. So I got the CI devs to add VS2026 support, and started working through issues one by one. I don't necessarily think there is a specific reason for me to be on the bleeding edge. Certainly need to be on a build from sometime in 2026 though. I'll do some more digging later on. Dinner time!

                  Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                  Crafting sound at every level. From strings to signal paths, samples to systems.

                  David HealeyD 1 Reply Last reply Reply Quote 0
                  • David HealeyD
                    David Healey @Orvillain
                    last edited by

                    @Orvillain I'm working on a commit from March 10th, try this one: 0e91c69c5708cefe4f1f2de763215e5e8210d32b

                    Free HISE Bootcamp Full Course for beginners.
                    YouTube Channel - Public HISE tutorials
                    My Patreon - HISE tutorials

                    Christoph HartC OrvillainO 2 Replies Last reply Reply Quote 1
                    • Christoph HartC
                      Christoph Hart @David Healey
                      last edited by

                      I'll cleanup all builds tomorrow. The reason I worked on this is that I've trimmed down the system requirements for compiling plugins with HISE - you now don't need VS or Xcode anymore - MS and Apple provide headless compiler tools that can be completely installed with the command line so the installation script that the HISE TUI app runs will be completely hands-off - it basically installs and sets up HISE with Faust & IPP with a single command now.

                      David HealeyD OrvillainO 2 Replies Last reply Reply Quote 3
                      • David HealeyD
                        David Healey @Christoph Hart
                        last edited by

                        @Christoph-Hart said in Latest develop won't build in VS2022:

                        Faust & IPP

                        FFTW please 👶

                        Free HISE Bootcamp Full Course for beginners.
                        YouTube Channel - Public HISE tutorials
                        My Patreon - HISE tutorials

                        1 Reply Last reply Reply Quote 1
                        • OrvillainO
                          Orvillain @Christoph Hart
                          last edited by

                          @Christoph-Hart said in Latest develop won't build in VS2022:

                          I'll cleanup all builds tomorrow. The reason I worked on this is that I've trimmed down the system requirements for compiling plugins with HISE - you now don't need VS or Xcode anymore - MS and Apple provide headless compiler tools that can be completely installed with the command line so the installation script that the HISE TUI app runs will be completely hands-off - it basically installs and sets up HISE with Faust & IPP with a single command now.

                          That's awesome!

                          Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                          Crafting sound at every level. From strings to signal paths, samples to systems.

                          1 Reply Last reply Reply Quote 0
                          • OrvillainO
                            Orvillain @David Healey
                            last edited by

                            @David-Healey Yep, will give it a go tomorrow, cheers!

                            Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                            Crafting sound at every level. From strings to signal paths, samples to systems.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            10

                            Online

                            2.3k

                            Users

                            13.6k

                            Topics

                            118.3k

                            Posts