Describe the bug
fail to build project on windows.
I try to add include in material.h and runs well.
To Reproduce
pull and try to build.
Expected behavior
build without error.
Screenshots
Logs
FAILED: filament/CMakeFiles/filament.dir/src/Material.cpp.obj
C:\PROGRA~1\MIB055~1\2022\COMMUN~1\VC\Tools\MSVC\1439~1.335\bin\Hostx64\x64\cl.exe /nologo /TP -DFILAMENT_DFG_LUT_SIZE=128 -DFILAMENT_ENABLE_FEATURE_LEVEL_0 -DFILAMENT_ENABLE_MATDBG=1 -DFILAMENT_IBL_LITE=1 -DFILAMENT_METAL_HANDLE_ARENA_SIZE_IN_MB=8 -DFILAMENT_MIN_COMMAND_BUFFERS_SIZE_IN_MB=2 -DFILAMENT_OPENGL_HANDLE_ARENA_SIZE_IN_MB=4 -DFILAMENT_PER_FRAME_COMMANDS_SIZE_IN_MB=2 -DFILAMENT_PER_RENDER_PASS_ARENA_SIZE_IN_MB=3 -DFILAMENT_SUPPORTS_OPENGL -DSYSTRACE_TAG=2 -ID:\Projects\filament\filament\include -ID:\Projects\filament\cmake-build-debug\filament -ID:\Projects\filament\filament\src -ID:\Projects\filament\filament\backend\include -ID:\Projects\filament\libs\math\include -ID:\Projects\filament\libs\utils\include -ID:\Projects\filament\third_party\robin-map\tnt.. -ID:\Projects\filament\libs\filaflat\include -ID:\Projects\filament\libs\filabridge\include -ID:\Projects\filament\libs\ibl\include -ID:\Projects\filament\libs\matdbg\include -ID:\Projects\filament\third_party\civetweb\tnt..\include -ID:\Projects\filament\libs\filamat\include -ID:\Projects\filament\cmake-build-debug\shaders -ID:\Projects\filament\third_party\smol-v\tnt..\source -ID:\Projects\filament\cmake-build-debug\include -ID:\Projects\filament\third_party\glslang\glslang\tnt..\Include -ID:\Projects\filament\third_party\glslang\glslang\tnt..\Public -ID:\Projects\filament\third_party\glslang\glslang\tnt..\MachineIndependent -ID:\Projects\filament\third_party\glslang\SPIRV\tnt.. -ID:\Projects\filament\third_party\glslang\SPIRV\tnt.... -ID:\Projects\filament\third_party\spirv-tools\include -ID:\Projects\filament\third_party\spirv-tools..\spirv-headers\include -ID:\Projects\filament\third_party\spirv-cross\tnt.. /DWIN32 /D_WINDOWS /GR /EHsc /MP /std:c++latest /W0 /Zc:__cplusplus -D_USE_MATH_DEFINES=1 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -DTNT_DEV /Zi /Ob0 /Od /RTC1 /Z7 /D_ITERATOR_DEBUG_LEVEL=0 -MDd /MTd /W3 /showIncludes /Fofilament\CMakeFiles\filament.dir\src\Material.cpp.obj /Fdfilament\CMakeFiles\filament.dir\filament.pdb /FS -c D:\Projects\filament\filament\src\Material.cpp
cl : Command line warning D9025 : overriding '/Zi' with '/Z7'
cl : Command line warning D9025 : overriding '/MDd' with '/MTd'
cl : Command line warning D9025 : overriding '/W0' with '/W3'
D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(129): warning C4068: unknown pragma 'clang'
D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(130): warning C4068: unknown pragma 'clang'
D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(524): warning C4068: unknown pragma 'clang'
D:\Projects\filament\libs\math\include\math/half.h(193): warning C4996: 'std::float_denorm_style': warning STL4042: std::float_denorm_style, std::numeric_limits::has_denorm, and std::numeric_limits::has_denorm_loss are deprecated in C++23. You can define _SILENCE_CXX23_DENORM_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
D:\Projects\filament\libs\math\include\math/half.h(193): warning C4996: 'std::float_denorm_style': warning STL4042: std::float_denorm_style, std::numeric_limits::has_denorm, and std::numeric_limits::has_denorm_loss are deprecated in C++23. You can define _SILENCE_CXX23_DENORM_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\limits(26): note: see declaration of 'std::float_denorm_style'
D:\Projects\filament\filament\backend\include\private/backend/DriverAPI.inc(129): warning C4068: unknown pragma 'clang'
D:\Projects\filament\filament\backend\include\private/backend/DriverAPI.inc(130): warning C4068: unknown pragma 'clang'
D:\Projects\filament\filament\backend\include\private/backend/DriverAPI.inc(524): warning C4068: unknown pragma 'clang'
D:\Projects\filament\filament\backend\include\private/backend/CommandStream.h(68): warning C4146: unary minus operator applied to unsigned type, result still unsigned
D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(129): warning C4068: unknown pragma 'clang'
D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(130): warning C4068: unknown pragma 'clang'
D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(524): warning C4068: unknown pragma 'clang'
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<48,8>': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\type_traits(1214): note: see declaration of 'std::aligned_storage'
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): note: the template instantiation context (the oldest one first) is
D:\Projects\filament\filament\src\PostProcessManager.h(385): note: see reference to class template instantiation 'tsl::robin_map<std::string_view,filament::PostProcessManager::PostProcessMaterial,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>' being compiled
with
[
Key=std::string_view,
T=filament::PostProcessManager::PostProcessMaterial
]
D:\Projects\filament\third_party\robin-map\tsl/robin_map.h(116): note: see reference to class template instantiation 'tsl::detail_robin_hash::robin_hash<std::pair<Key,T>,tsl::robin_map<Key,T,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::KeySelect,tsl::robin_map<Key,T,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::ValueSelect,Hash,KeyEqual,Allocator,false,GrowthPolicy>' being compiled
with
[
Key=std::string_view,
T=filament::PostProcessManager::PostProcessMaterial,
Hash=std::hash,
KeyEqual=std::equal_to,
Allocator=std::allocator<std::pair<std::string_view,filament::PostProcessManager::PostProcessMaterial>>,
GrowthPolicy=tsl::rh::power_of_two_growth_policy<2>
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(349): note: see reference to class template instantiation 'tsl::detail_robin_hash::bucket_entry<std::pair<Key,T>,true>' being compiled
with
[
Key=std::string_view,
T=filament::PostProcessManager::PostProcessMaterial
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<48,8>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<8,8>': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\type_traits(1214): note: see declaration of 'std::aligned_storage'
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): note: the template instantiation context (the oldest one first) is
D:\Projects\filament\filament\src\ResourceList.h(30): note: see reference to class template instantiation 'tsl::robin_set<void ,std::hash,std::equal_to,std::allocator<void >,false,tsl::rh::power_of_two_growth_policy<2>>' being compiled
with
[
Key=void
]
D:\Projects\filament\third_party\robin-map\tsl/robin_set.h(102): note: see reference to class template instantiation 'tsl::detail_robin_hash::robin_hash<Key,tsl::robin_set<Key,std::hash,std::equal_to,std::allocator<void >,false,tsl::rh::power_of_two_growth_policy<2>>::KeySelect,void,Hash,KeyEqual,Allocator,false,GrowthPolicy>' being compiled
with
[
Key=void ,
Hash=std::hash<void >,
KeyEqual=std::equal_to<void >,
Allocator=std::allocator<void >,
GrowthPolicy=tsl::rh::power_of_two_growth_policy<2>
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(349): note: see reference to class template instantiation 'tsl::detail_robin_hash::bucket_entry<void *,true>' being compiled
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<8,8>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<16,8>': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\type_traits(1214): note: see declaration of 'std::aligned_storage'
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): note: the template instantiation context (the oldest one first) is
D:\Projects\filament\filament\src\HwVertexBufferInfoFactory.h(119): note: see reference to class template instantiation 'filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>' being compiled
D:\Projects\filament\filament\src\Bimap.h(63): note: see reference to class template instantiation 'tsl::robin_map<filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate,Value,filament::Bimap<filament::HwVertexBufferInfoFactory::Key,Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyHasherDelegate,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>' being compiled
with
[
Value=filament::HwVertexBufferInfoFactory::Value,
Key=filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate,
T=filament::HwVertexBufferInfoFactory::Value
]
D:\Projects\filament\third_party\robin-map\tsl/robin_map.h(116): note: see reference to class template instantiation 'tsl::detail_robin_hash::robin_hash<std::pair<Key,T>,tsl::robin_map<Key,T,filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyHasherDelegate,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::KeySelect,tsl::robin_map<Key,T,filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyHasherDelegate,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::ValueSelect,Hash,KeyEqual,Allocator,false,GrowthPolicy>' being compiled
with
[
Key=filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate,
T=filament::HwVertexBufferInfoFactory::Value,
Hash=filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyHasherDelegate,
KeyEqual=std::equal_to<filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate>,
Allocator=std::allocator<std::pair<filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate,filament::HwVertexBufferInfoFactory::Value>>,
GrowthPolicy=tsl::rh::power_of_two_growth_policy<2>
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(349): note: see reference to class template instantiation 'tsl::detail_robin_hash::bucket_entry<std::pair<Key,T>,true>' being compiled
with
[
Key=filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate,
T=filament::HwVertexBufferInfoFactory::Value
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<16,8>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<8,4>': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\type_traits(1214): note: see declaration of 'std::aligned_storage'
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): note: the template instantiation context (the oldest one first) is
D:\Projects\filament\libs\utils\include\utils/SingleInstanceComponentManager.h(48): note: while compiling class template 'utils::SingleInstanceComponentManager'
D:\Projects\filament\libs\utils\include\utils/SingleInstanceComponentManager.h(261): note: see reference to class template instantiation 'tsl::robin_map<utils::Entity,utils::SingleInstanceComponentManager::Instance,utils::Entity::Hasher,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>' being compiled
with
[
Key=utils::Entity,
T=utils::SingleInstanceComponentManager::Instance
]
D:\Projects\filament\third_party\robin-map\tsl/robin_map.h(116): note: see reference to class template instantiation 'tsl::detail_robin_hash::robin_hash<std::pair<Key,T>,tsl::robin_map<Key,T,utils::Entity::Hasher,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::KeySelect,tsl::robin_map<Key,T,utils::Entity::Hasher,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::ValueSelect,Hash,KeyEqual,Allocator,false,GrowthPolicy>' being compiled
with
[
Key=utils::Entity,
T=utils::SingleInstanceComponentManager::Instance,
Hash=utils::Entity::Hasher,
KeyEqual=std::equal_to,
Allocator=std::allocator<std::pair<utils::Entity,utils::SingleInstanceComponentManager::Instance>>,
GrowthPolicy=tsl::rh::power_of_two_growth_policy<2>
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(349): note: see reference to class template instantiation 'tsl::detail_robin_hash::bucket_entry<std::pair<Key,T>,true>' being compiled
with
[
Key=utils::Entity,
T=utils::SingleInstanceComponentManager::Instance
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<8,4>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<80,8>': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\type_traits(1214): note: see declaration of 'std::aligned_storage'
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): note: the template instantiation context (the oldest one first) is
D:\Projects\filament\libs\matdbg\include\matdbg/DebugServer.h(103): note: see reference to class template instantiation 'tsl::robin_map<filament::matdbg::MaterialKey,filament::matdbg::MaterialRecord,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>' being compiled
with
[
Key=filament::matdbg::MaterialKey,
T=filament::matdbg::MaterialRecord
]
D:\Projects\filament\third_party\robin-map\tsl/robin_map.h(116): note: see reference to class template instantiation 'tsl::detail_robin_hash::robin_hash<std::pair<Key,T>,tsl::robin_map<Key,T,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::KeySelect,tsl::robin_map<Key,T,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::ValueSelect,Hash,KeyEqual,Allocator,false,GrowthPolicy>' being compiled
with
[
Key=filament::matdbg::MaterialKey,
T=filament::matdbg::MaterialRecord,
Hash=std::hash,
KeyEqual=std::equal_to,
Allocator=std::allocator<std::pair<filament::matdbg::MaterialKey,filament::matdbg::MaterialRecord>>,
GrowthPolicy=tsl::rh::power_of_two_growth_policy<2>
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(349): note: see reference to class template instantiation 'tsl::detail_robin_hash::bucket_entry<std::pair<Key,T>,true>' being compiled
with
[
Key=filament::matdbg::MaterialKey,
T=filament::matdbg::MaterialRecord
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<80,8>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
D:\Projects\filament\filament\src\details/Engine.h(517): warning C4996: 'std::aligned_storage<648,8>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3138): error C2027: use of undefined type 'filament::MaterialParser'
D:\Projects\filament\filament\src\details/Engine.h(87): note: see declaration of 'filament::MaterialParser'
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3138): note: the template instantiation context (the oldest one first) is
D:\Projects\filament\filament\src\details/Material.h(313): note: see reference to class template instantiation 'std::unique_ptr<filament::MaterialParser,std::default_delete>' being compiled
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3158): note: see reference to class template instantiation 'std::default_delete' being compiled
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3137): note: while compiling class template member function 'void std::default_delete::operator ()(_Ty *) noexcept const'
with
[
_Ty=filament::MaterialParser
]
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3249): note: see the first reference to 'std::default_delete::operator ()' in 'std::unique_ptr<filament::MaterialParser,std::default_delete>::~unique_ptr'
D:\Projects\filament\filament\src\details/Material.h(314): note: see the first reference to 'std::unique_ptr<filament::MaterialParser,std::default_delete>::~unique_ptr' in 'filament::FMaterial::setPendingEdits'
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3138): error C2338: static_assert failed: 'can't delete an incomplete type'
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3139): warning C4150: deletion of pointer to incomplete type 'filament::MaterialParser'; no destructor called
D:\Projects\filament\filament\src\details/Engine.h(87): note: see declaration of 'filament::MaterialParser'
Desktop (please complete the following information):
Describe the bug fail to build project on windows.![image](https://github.com/google/filament/assets/108849949/ced80609-8d9d-4229-a36e-bdaf6291d587)
I try to add include in material.h and runs well.![image](https://github.com/google/filament/assets/108849949/102ecb80-3705-45c6-8be6-e07cd5c4be8e)
To Reproduce pull and try to build.
Expected behavior
build without error.
Screenshots
Logs FAILED: filament/CMakeFiles/filament.dir/src/Material.cpp.obj C:\PROGRA~1\MIB055~1\2022\COMMUN~1\VC\Tools\MSVC\1439~1.335\bin\Hostx64\x64\cl.exe /nologo /TP -DFILAMENT_DFG_LUT_SIZE=128 -DFILAMENT_ENABLE_FEATURE_LEVEL_0 -DFILAMENT_ENABLE_MATDBG=1 -DFILAMENT_IBL_LITE=1 -DFILAMENT_METAL_HANDLE_ARENA_SIZE_IN_MB=8 -DFILAMENT_MIN_COMMAND_BUFFERS_SIZE_IN_MB=2 -DFILAMENT_OPENGL_HANDLE_ARENA_SIZE_IN_MB=4 -DFILAMENT_PER_FRAME_COMMANDS_SIZE_IN_MB=2 -DFILAMENT_PER_RENDER_PASS_ARENA_SIZE_IN_MB=3 -DFILAMENT_SUPPORTS_OPENGL -DSYSTRACE_TAG=2 -ID:\Projects\filament\filament\include -ID:\Projects\filament\cmake-build-debug\filament -ID:\Projects\filament\filament\src -ID:\Projects\filament\filament\backend\include -ID:\Projects\filament\libs\math\include -ID:\Projects\filament\libs\utils\include -ID:\Projects\filament\third_party\robin-map\tnt.. -ID:\Projects\filament\libs\filaflat\include -ID:\Projects\filament\libs\filabridge\include -ID:\Projects\filament\libs\ibl\include -ID:\Projects\filament\libs\matdbg\include -ID:\Projects\filament\third_party\civetweb\tnt..\include -ID:\Projects\filament\libs\filamat\include -ID:\Projects\filament\cmake-build-debug\shaders -ID:\Projects\filament\third_party\smol-v\tnt..\source -ID:\Projects\filament\cmake-build-debug\include -ID:\Projects\filament\third_party\glslang\glslang\tnt..\Include -ID:\Projects\filament\third_party\glslang\glslang\tnt..\Public -ID:\Projects\filament\third_party\glslang\glslang\tnt..\MachineIndependent -ID:\Projects\filament\third_party\glslang\SPIRV\tnt.. -ID:\Projects\filament\third_party\glslang\SPIRV\tnt.... -ID:\Projects\filament\third_party\spirv-tools\include -ID:\Projects\filament\third_party\spirv-tools..\spirv-headers\include -ID:\Projects\filament\third_party\spirv-cross\tnt.. /DWIN32 /D_WINDOWS /GR /EHsc /MP /std:c++latest /W0 /Zc:__cplusplus -D_USE_MATH_DEFINES=1 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -DTNT_DEV /Zi /Ob0 /Od /RTC1 /Z7 /D_ITERATOR_DEBUG_LEVEL=0 -MDd /MTd /W3 /showIncludes /Fofilament\CMakeFiles\filament.dir\src\Material.cpp.obj /Fdfilament\CMakeFiles\filament.dir\filament.pdb /FS -c D:\Projects\filament\filament\src\Material.cpp cl : Command line warning D9025 : overriding '/Zi' with '/Z7' cl : Command line warning D9025 : overriding '/MDd' with '/MTd' cl : Command line warning D9025 : overriding '/W0' with '/W3' D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(129): warning C4068: unknown pragma 'clang' D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(130): warning C4068: unknown pragma 'clang' D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(524): warning C4068: unknown pragma 'clang' D:\Projects\filament\libs\math\include\math/half.h(193): warning C4996: 'std::float_denorm_style': warning STL4042: std::float_denorm_style, std::numeric_limits::has_denorm, and std::numeric_limits::has_denorm_loss are deprecated in C++23. You can define _SILENCE_CXX23_DENORM_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning. D:\Projects\filament\libs\math\include\math/half.h(193): warning C4996: 'std::float_denorm_style': warning STL4042: std::float_denorm_style, std::numeric_limits::has_denorm, and std::numeric_limits::has_denorm_loss are deprecated in C++23. You can define _SILENCE_CXX23_DENORM_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning. C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\limits(26): note: see declaration of 'std::float_denorm_style' D:\Projects\filament\filament\backend\include\private/backend/DriverAPI.inc(129): warning C4068: unknown pragma 'clang' D:\Projects\filament\filament\backend\include\private/backend/DriverAPI.inc(130): warning C4068: unknown pragma 'clang' D:\Projects\filament\filament\backend\include\private/backend/DriverAPI.inc(524): warning C4068: unknown pragma 'clang' D:\Projects\filament\filament\backend\include\private/backend/CommandStream.h(68): warning C4146: unary minus operator applied to unsigned type, result still unsigned D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(129): warning C4068: unknown pragma 'clang' D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(130): warning C4068: unknown pragma 'clang' D:\Projects\filament\filament\backend\include\private\backend\DriverAPI.inc(524): warning C4068: unknown pragma 'clang' D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<48,8>': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning. C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\type_traits(1214): note: see declaration of 'std::aligned_storage' D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): note: the template instantiation context (the oldest one first) is D:\Projects\filament\filament\src\PostProcessManager.h(385): note: see reference to class template instantiation 'tsl::robin_map<std::string_view,filament::PostProcessManager::PostProcessMaterial,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>' being compiled
with
[
Key=std::string_view,
T=filament::PostProcessManager::PostProcessMaterial
]
D:\Projects\filament\third_party\robin-map\tsl/robin_map.h(116): note: see reference to class template instantiation 'tsl::detail_robin_hash::robin_hash<std::pair<Key,T>,tsl::robin_map<Key,T,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::KeySelect,tsl::robin_map<Key,T,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::ValueSelect,Hash,KeyEqual,Allocator,false,GrowthPolicy>' being compiled
with
[
Key=std::string_view,
T=filament::PostProcessManager::PostProcessMaterial,
Hash=std::hash,
KeyEqual=std::equal_to,
Allocator=std::allocator<std::pair<std::string_view,filament::PostProcessManager::PostProcessMaterial>>,
GrowthPolicy=tsl::rh::power_of_two_growth_policy<2>
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(349): note: see reference to class template instantiation 'tsl::detail_robin_hash::bucket_entry<std::pair<Key,T>,true>' being compiled
with
[
Key=std::string_view,
T=filament::PostProcessManager::PostProcessMaterial
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<48,8>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<8,8>': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\type_traits(1214): note: see declaration of 'std::aligned_storage'
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): note: the template instantiation context (the oldest one first) is
D:\Projects\filament\filament\src\ResourceList.h(30): note: see reference to class template instantiation 'tsl::robin_set<void ,std::hash,std::equal_to,std::allocator<void >,false,tsl::rh::power_of_two_growth_policy<2>>' being compiled
with
[
Key=void
]
D:\Projects\filament\third_party\robin-map\tsl/robin_set.h(102): note: see reference to class template instantiation 'tsl::detail_robin_hash::robin_hash<Key,tsl::robin_set<Key,std::hash,std::equal_to,std::allocator<void >,false,tsl::rh::power_of_two_growth_policy<2>>::KeySelect,void,Hash,KeyEqual,Allocator,false,GrowthPolicy>' being compiled
with
[
Key=void ,
Hash=std::hash<void >,
KeyEqual=std::equal_to<void >,
Allocator=std::allocator<void >,
GrowthPolicy=tsl::rh::power_of_two_growth_policy<2>
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(349): note: see reference to class template instantiation 'tsl::detail_robin_hash::bucket_entry<void *,true>' being compiled
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<8,8>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<16,8>': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\type_traits(1214): note: see declaration of 'std::aligned_storage'
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): note: the template instantiation context (the oldest one first) is
D:\Projects\filament\filament\src\HwVertexBufferInfoFactory.h(119): note: see reference to class template instantiation 'filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>' being compiled
D:\Projects\filament\filament\src\Bimap.h(63): note: see reference to class template instantiation 'tsl::robin_map<filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate,Value,filament::Bimap<filament::HwVertexBufferInfoFactory::Key,Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyHasherDelegate,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>' being compiled
with
[
Value=filament::HwVertexBufferInfoFactory::Value,
Key=filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate,
T=filament::HwVertexBufferInfoFactory::Value
]
D:\Projects\filament\third_party\robin-map\tsl/robin_map.h(116): note: see reference to class template instantiation 'tsl::detail_robin_hash::robin_hash<std::pair<Key,T>,tsl::robin_map<Key,T,filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyHasherDelegate,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::KeySelect,tsl::robin_map<Key,T,filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyHasherDelegate,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::ValueSelect,Hash,KeyEqual,Allocator,false,GrowthPolicy>' being compiled
with
[
Key=filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate,
T=filament::HwVertexBufferInfoFactory::Value,
Hash=filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyHasherDelegate,
KeyEqual=std::equal_to<filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate>,
Allocator=std::allocator<std::pair<filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate,filament::HwVertexBufferInfoFactory::Value>>,
GrowthPolicy=tsl::rh::power_of_two_growth_policy<2>
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(349): note: see reference to class template instantiation 'tsl::detail_robin_hash::bucket_entry<std::pair<Key,T>,true>' being compiled
with
[
Key=filament::Bimap<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::Value,filament::HwVertexBufferInfoFactory::KeyHasher,filament::HwVertexBufferInfoFactory::ValueHasher,utils::STLAllocator<filament::HwVertexBufferInfoFactory::Key,filament::HwVertexBufferInfoFactory::PoolAllocatorArena>>::KeyDelegate,
T=filament::HwVertexBufferInfoFactory::Value
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<16,8>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<8,4>': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\type_traits(1214): note: see declaration of 'std::aligned_storage'
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): note: the template instantiation context (the oldest one first) is
D:\Projects\filament\libs\utils\include\utils/SingleInstanceComponentManager.h(48): note: while compiling class template 'utils::SingleInstanceComponentManager'
D:\Projects\filament\libs\utils\include\utils/SingleInstanceComponentManager.h(261): note: see reference to class template instantiation 'tsl::robin_map<utils::Entity,utils::SingleInstanceComponentManager::Instance,utils::Entity::Hasher,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>' being compiled
with
[
Key=utils::Entity,
T=utils::SingleInstanceComponentManager::Instance
]
D:\Projects\filament\third_party\robin-map\tsl/robin_map.h(116): note: see reference to class template instantiation 'tsl::detail_robin_hash::robin_hash<std::pair<Key,T>,tsl::robin_map<Key,T,utils::Entity::Hasher,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::KeySelect,tsl::robin_map<Key,T,utils::Entity::Hasher,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::ValueSelect,Hash,KeyEqual,Allocator,false,GrowthPolicy>' being compiled
with
[
Key=utils::Entity,
T=utils::SingleInstanceComponentManager::Instance,
Hash=utils::Entity::Hasher,
KeyEqual=std::equal_to,
Allocator=std::allocator<std::pair<utils::Entity,utils::SingleInstanceComponentManager::Instance>>,
GrowthPolicy=tsl::rh::power_of_two_growth_policy<2>
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(349): note: see reference to class template instantiation 'tsl::detail_robin_hash::bucket_entry<std::pair<Key,T>,true>' being compiled
with
[
Key=utils::Entity,
T=utils::SingleInstanceComponentManager::Instance
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<8,4>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<80,8>': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\type_traits(1214): note: see declaration of 'std::aligned_storage'
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): note: the template instantiation context (the oldest one first) is
D:\Projects\filament\libs\matdbg\include\matdbg/DebugServer.h(103): note: see reference to class template instantiation 'tsl::robin_map<filament::matdbg::MaterialKey,filament::matdbg::MaterialRecord,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>' being compiled
with
[
Key=filament::matdbg::MaterialKey,
T=filament::matdbg::MaterialRecord
]
D:\Projects\filament\third_party\robin-map\tsl/robin_map.h(116): note: see reference to class template instantiation 'tsl::detail_robin_hash::robin_hash<std::pair<Key,T>,tsl::robin_map<Key,T,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::KeySelect,tsl::robin_map<Key,T,std::hash,std::equal_to,std::allocator<std::pair<Key,T>>,false,tsl::rh::power_of_two_growth_policy<2>>::ValueSelect,Hash,KeyEqual,Allocator,false,GrowthPolicy>' being compiled
with
[
Key=filament::matdbg::MaterialKey,
T=filament::matdbg::MaterialRecord,
Hash=std::hash,
KeyEqual=std::equal_to,
Allocator=std::allocator<std::pair<filament::matdbg::MaterialKey,filament::matdbg::MaterialRecord>>,
GrowthPolicy=tsl::rh::power_of_two_growth_policy<2>
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(349): note: see reference to class template instantiation 'tsl::detail_robin_hash::bucket_entry<std::pair<Key,T>,true>' being compiled
with
[
Key=filament::matdbg::MaterialKey,
T=filament::matdbg::MaterialRecord
]
D:\Projects\filament\third_party\robin-map\tsl\robin_hash.h(282): warning C4996: 'std::aligned_storage<80,8>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
D:\Projects\filament\filament\src\details/Engine.h(517): warning C4996: 'std::aligned_storage<648,8>::type': warning STL4034: std::aligned_storage and std::aligned_storage_t are deprecated in C++23. Prefer alignas(T) std::byte t_buff[sizeof(T)]. You can define _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING or _SILENCE_ALL_CXX23_DEPRECATION_WARNINGS to suppress this warning.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3138): error C2027: use of undefined type 'filament::MaterialParser'
D:\Projects\filament\filament\src\details/Engine.h(87): note: see declaration of 'filament::MaterialParser'
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3138): note: the template instantiation context (the oldest one first) is
D:\Projects\filament\filament\src\details/Material.h(313): note: see reference to class template instantiation 'std::unique_ptr<filament::MaterialParser,std::default_delete>' being compiled
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3158): note: see reference to class template instantiation 'std::default_delete' being compiled
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3137): note: while compiling class template member function 'void std::default_delete::operator ()(_Ty *) noexcept const'
with
[
_Ty=filament::MaterialParser
]
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3249): note: see the first reference to 'std::default_delete::operator ()' in 'std::unique_ptr<filament::MaterialParser,std::default_delete>::~unique_ptr'
D:\Projects\filament\filament\src\details/Material.h(314): note: see the first reference to 'std::unique_ptr<filament::MaterialParser,std::default_delete>::~unique_ptr' in 'filament::FMaterial::setPendingEdits'
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3138): error C2338: static_assert failed: 'can't delete an incomplete type'
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3139): warning C4150: deletion of pointer to incomplete type 'filament::MaterialParser'; no destructor called
D:\Projects\filament\filament\src\details/Engine.h(87): note: see declaration of 'filament::MaterialParser'
Desktop (please complete the following information):