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.
    • 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

                          4

                          Online

                          2.3k

                          Users

                          13.7k

                          Topics

                          118.9k

                          Posts