Forum
    • Categories
    • Register
    • Login

    Latest develop won't build in VS2022

    Scheduled Pinned Locked Moved Bug Reports
    13 Posts 3 Posters 347 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.
    • 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
                          • SifresS Sifres referenced this topic
                          • OrvillainO
                            Orvillain
                            last edited by

                            So I went back to March 6th. And I got quite a bit further with the build. But then it stalled at:

                            include_hi_core.cpp
                            HISE\hi_tools\simple_css\Renderer.h(333,4): error C2872: 'Rectangle': ambiguous symbol [MyProject_SharedCode.vcxproj]
                              (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
                                  C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um\wingdi.h(4639,24):
                                  could be 'BOOL Rectangle(HDC,int,int,int,int)'
                                  HISE\JUCE\modules\juce_graphics\geometry\juce_Rectangle.h(66,7):
                                  or       'juce::Rectangle'
                                  HISE\hi_tools\simple_css\Renderer.h(333,4):
                                  the template instantiation context (the oldest one first) is
                                      HISE\hi_tools\simple_css\Renderer.h(365,95):
                                      see reference to function template instantiation 'juce::Rectangle<float> hise::simple_css::Positioner::slice<hise::simple_css::Positioner::Direction::Top>(const juce::Array<hise::simple_css::Selector,juce::DummyCriticalSection,0> &,float)' being compiled
                            
                            HISE\hi_tools\simple_css\Renderer.h(333,14): error C2062: type 'float' unexpected [MyProject_SharedCode.vcxproj]
                              (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
                            
                            HISE\hi_tools\simple_css\Renderer.h(336,33): error C2065: 'copy': undeclared identifier [MyProject_SharedCode.vcxproj]
                              (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
                            
                            HISE\hi_tools\simple_css\Renderer.h(336,16): error C2530: 'toUse': references must be initialized [MyProject_SharedCode.vcxproj]
                              (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
                            
                            HISE\hi_tools\simple_css\Renderer.h(337,37): error C3536: 'toUse': cannot be used before it is initialized [MyProject_SharedCode.vcxproj]
                              (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
                            
                            HISE\hi_tools\simple_css\Renderer.h(346,25): error C2672: 'hise::simple_css::Positioner::RemoveHelpers::slice': no matching overloaded function found [MyProject_SharedCode.vcxproj]
                              (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
                                  HISE\hi_tools\simple_css\Renderer.h(306,50):
                                  could be 'juce::Rectangle<float> hise::simple_css::Positioner::RemoveHelpers::slice(juce::Rectangle<float> &,float)'
                                      HISE\hi_tools\simple_css\Renderer.h(346,25):
                                      Failed to specialize function template 'juce::Rectangle<float> hise::simple_css::Positioner::RemoveHelpers::slice(juce::Rectangle<float> &,float)'
                                          HISE\hi_tools\simple_css\Renderer.h(346,25):
                                          With the following template arguments:
                                              HISE\hi_tools\simple_css\Renderer.h(346,25):
                                              'D=hise::simple_css::Positioner::Direction::Top'
                                          HISE\hi_tools\simple_css\Renderer.h(306,33):
                                          'Rectangle': ambiguous symbol
                                          HISE\hi_tools\simple_css\Renderer.h(306,42):
                                          syntax error: missing ';' before '<'
                            
                            

                            This was with: 0567740 - - fixed compilation on macOS!

                            Confirmed locally and as part of CI build; which I have switched from VS2022 to VS2026.

                            It seems like it is using Rectangle but without specifying whether it's a juce:: or whether it's from the Windows SDK.

                            @Christoph-Hart

                            I think the fix is to directly specify juce::Rectangle in /hi_tools/simple_css/Renderer.h:

                            -			Rectangle<float> copy = totalArea;
                            +			juce::Rectangle<float> copy = totalArea;
                            

                            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

                            8

                            Online

                            2.3k

                            Users

                            13.7k

                            Topics

                            118.9k

                            Posts