Latest develop won't build in VS2022
-
@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!
-
@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?
-
@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!
-
@Orvillain I'm working on a commit from March 10th, try this one:
0e91c69c5708cefe4f1f2de763215e5e8210d32b -
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.
-
-
@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!
-
@David-Healey Yep, will give it a go tomorrow, cheers!
-
S Sifres referenced this topic on
-
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.
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; -
MSBuild version 18.5.4+cb4e32d21 for .NET Framework CopyProtection.cpp Plugin.cpp PresetData.cpp factory.cpp RNBO.cpp BinaryData.cpp include_hi_core.cpp include_hi_core_02.cpp include_hi_core_03.cpp include_hi_core_04.cpp include_hi_core_05.cpp include_hi_dsp_library_01.cpp include_hi_dsp_library_02.cpp include_hi_frontend.cpp include_hi_lac.cpp include_hi_lac_02.cpp include_hi_rlottie.cpp include_hi_rlottie_1.cpp include_hi_rlottie_2.cpp include_hi_rlottie_4.cpp include_hi_rlottie_5.cpp include_hi_rlottie_6.cpp include_hi_rlottie_7.cpp include_hi_rlottie_8.cpp include_hi_rlottie_9.cpp include_hi_rlottie_10.cpp include_hi_rlottie_11.cpp include_hi_rlottie_12.cpp include_hi_rlottie_13.cpp include_hi_rlottie_14.cpp include_hi_rlottie_15.cpp include_hi_rlottie_16.cpp include_hi_rlottie_17.cpp include_hi_rlottie_18.cpp include_hi_rlottie_19.cpp include_hi_rlottie_20.cpp include_hi_rlottie_21.cpp include_hi_rlottie_22.cpp include_hi_rlottie_23.cpp include_hi_rlottie_24.cpp include_hi_rlottie_25.cpp include_hi_rlottie_26.cpp include_hi_rlottie_27.cpp include_hi_rlottie_28.cpp include_hi_rlottie_29.cpp include_hi_rlottie_30.cpp include_hi_rlottie_31.cpp include_hi_rlottie_32.cpp include_hi_rlottie_33.cpp include_hi_rlottie_34.cpp include_hi_rlottie_35.cpp include_hi_scripting_01.cpp include_hi_scripting_02.cpp include_hi_scripting_03.cpp include_hi_scripting_04.cpp include_hi_snex.cpp include_hi_snex_62.cpp include_hi_streaming.cpp include_hi_tools_01.cpp include_hi_tools_02.cpp include_hi_tools_03.cpp include_hi_zstd_1.cpp include_hi_zstd_2.cpp include_hi_zstd_3.cpp include_juce_audio_basics.cpp include_juce_audio_devices.cpp include_juce_audio_formats.cpp include_juce_audio_plugin_client_utils.cpp include_juce_audio_processors.cpp include_juce_audio_processors_headless.cpp include_juce_audio_utils.cpp include_juce_core.cpp include_juce_cryptography.cpp include_juce_data_structures.cpp include_juce_dsp.cpp include_juce_events.cpp include_juce_graphics.cpp include_juce_gui_extra.cpp include_juce_opengl.cpp include_juce_osc.cpp include_juce_product_unlocking.cpp include_melatonin_blur.cpp !H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(333,4): error C2872: 'Rectangle': ambiguous symbol [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_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)' H:\development\HISE\HISE\JUCE\modules\juce_graphics\geometry\juce_Rectangle.h(66,7): or 'juce::Rectangle' H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(333,4): the template instantiation context (the oldest one first) is H:\development\HISE\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 !H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(333,14): error C2062: type 'float' unexpected [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_SharedCode.vcxproj] (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp') !H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(336,33): error C2065: 'copy': undeclared identifier [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_SharedCode.vcxproj] (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp') !H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(336,16): error C2530: 'toUse': references must be initialized [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_SharedCode.vcxproj] (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp') !H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(337,37): error C3536: 'toUse': cannot be used before it is initialized [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_SharedCode.vcxproj] (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp') !H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(346,25): error C2672: 'hise::simple_css::Positioner::RemoveHelpers::slice': no matching overloaded function found [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_SharedCode.vcxproj] (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp') H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(306,50): could be 'juce::Rectangle<float> hise::simple_css::Positioner::RemoveHelpers::slice(juce::Rectangle<float> &,float)' H:\development\HISE\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)' H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(346,25): With the following template arguments: H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(346,25): 'D=hise::simple_css::Positioner::Direction::Top' H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(306,33): 'Rectangle': ambiguous symbol H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(306,42): ! syntax error: missing ';' before '<' !Compilation error. Check the compiler output.This, or something similar to it... has come back in the latest develop, sha: 6446c4ab64ba27c189f5d1ad31ecace25d02a292
I've cleaned my build directory, but still get it.
