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;