Hi! I try to build newest (version from 12 january 2023) Ogre-next with Vulkan renderer.
System: Windows 10
Build: Release 32bit
I got such linker error during build:
Code: Select all
[ 99%] Linking CXX shared library ..\..\bin\RenderSystem_Vulkan.dll
LINK: command "C:\PROGRA~2\MICROS~1.0\VC\bin\link.exe /nologo @CMakeFiles\RenderSystem_Vulkan.dir\objects1.rsp /out:..\..\bin\RenderSystem_Vulkan.dll /implib:..\..\lib\RenderSystem_Vulkan.lib /pdb:D:\Repos\Forks\ogre-next-build\msvc2015_x86_release\bin\RenderSystem_Vulkan.pdb /dll /version:3.0 /machine:X86 /INCREMENTAL:NO ..\..\lib\OgreMain.lib C:\VulkanSDK\1.3.236.0\Lib32\vulkan-1.lib C:\VulkanSDK\1.3.236.0\Lib32\shaderc_combined.lib D:\Repos\Forks\ogre-next-deps-build\msvc2015_x86_release\ogredeps\lib\Release\FreeImage.lib D:\Repos\Forks\ogre-next-deps-build\msvc2015_x86_release\ogredeps\lib\Release\zziplib.lib D:\Repos\Forks\ogre-next-deps-build\msvc2015_x86_release\ogredeps\lib\Release\zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:..\..\bin\RenderSystem_Vulkan.dll.manifest" failed (exit code 1120) with the following output:
Creating library ..\..\lib\RenderSystem_Vulkan.lib and object ..\..\lib\RenderSystem_Vulkan.exp
shaderc_combined.lib(validate_decorations.obj) : error LNK2019: unresolved external symbol ___std_reverse_trivially_swappable_8 referenced in function "void __cdecl std::_Buffered_inplace_merge_divide_and_conquer2<struct `enum spv_result_t __cdecl spvtools::val::`anonymous namespace'::checkLayout(unsigned int,char const *,char const *,bool,bool,unsigned int,class std::unordered_map<struct std::pair<unsigned int,unsigned int>,struct spvtools::val::`anonymous namespace'::LayoutConstraints,struct spvtools::val::A0x470bef9a::PairHash,struct std::equal_to<struct std::pair<unsigned int,unsigned int> >,class std::allocator<struct std::pair<struct std::pair<unsigned int,unsigned int> const ,struct spvtools::val::`anonymous namespace'::LayoutConstraints> > > &,class spvtools::val::ValidationState_t &)'::`2'::MemberOffsetPair *,class <lambda_19b221d05b429ea8871b3658691ee31d> >(struct `enum spv_result_t __cdecl spvtools::val::`anonymous namespace'::checkLayout(unsigned int,char const *,char const *,bool,bool,unsigned int,class std::unordered_map<struct std::pair<unsigned int,unsigned int>,struct spvtools::val::`anonymous namespace'::LayoutConstraints,struct spvtools::val::A0x470bef9a::PairHash,struct std::equal_to<struct std::pair<unsigned int,unsigned int> >,class std::allocator<struct std::pair<struct std::pair<unsigned int,unsigned int> const ,struct spvtools::val::`anonymous namespace'::LayoutConstraints> > > &,class spvtools::val::ValidationState_t &)'::`2'::MemberOffsetPair *,struct `enum spv_result_t __cdecl spvtools::val::`anonymous namespace'::checkLayout(unsigned int,char const *,char const *,bool,bool,unsigned int,class std::unordered_map<struct std::pair<unsigned int,unsigned int>,struct spvtools::val::`anonymous namespace'::LayoutConstraints,struct spvtools::val::A0x470bef9a::PairHash,struct std::equal_to<struct std::pair<unsigned int,unsigned int> >,class std::allocator<struct std::pair<struct std::pair<unsigned int,unsigned int> const ,struct spvtools::val::`anonymous namespace'::LayoutConstraints> > > &,class spvtools::val::ValidationState_t &)'::`2'::MemberOffsetPair *,struct `enum spv_result_t __cdecl spvtools::val::`anonymous namespace'::checkLayout(unsigned int,char const *,char const *,bool,bool,unsigned int,class std::unordered_map<struct std::pair<unsigned int,unsigned int>,struct spvtools::val::`anonymous namespace'::LayoutConstraints,struct spvtools::val::A0x470bef9a::PairHash,struct std::equal_to<struct std::pair<unsigned int,unsigned int> >,class std::allocator<struct std::pair<struct std::pair<unsigned int,unsigned int> const ,struct spvtools::val::`anonymous namespace'::LayoutConstraints> > > &,class spvtools::val::ValidationState_t &)'::`2'::MemberOffsetPair *,int,int,struct `enum spv_result_t __cdecl spvtools::val::A0x470bef9a::checkLayout(unsigned int,char const *,char const *,bool,bool,unsigned int,class std::unordered_map<struct std::pair<unsigned int,unsigned int>,struct spvtools::val::`anonymous namespace'::LayoutConstraints,struct spvtools::val::A0x470bef9a::PairHash,struct std::equal_to<struct std::pair<unsigned int,unsigned int> >,class std::allocator<struct std::pair<struct std::pair<unsigned int,unsigned int> const ,struct spvtools::val::`anonymous namespace'::LayoutConstraints> > > &,class spvtools::val::ValidationState_t &)'::`2'::MemberOffsetPair * const,int,class <lambda_19b221d05b429ea8871b3658691ee31d>,struct `enum spv_result_t __cdecl spvtools::val::`anonymous namespace'::checkLayout(unsigned int,char const *,char const *,bool,bool,unsigned int,class std::unordered_map<struct std::pair<unsigned int,unsigned int>,struct spvtools::val::`anonymous namespace'::LayoutConstraints,struct spvtools::val::A0x470bef9a::PairHash,struct std::equal_to<struct std::pair<unsigned int,unsigned int> >,class std::allocator<struct std::pair<struct std::pair<unsigned int,unsigned int> const ,struct spvtools::val::`anonymous namespace'::LayoutConstraints> > > &,class spvtools::val::ValidationState_t &)'::`2'::MemberOffsetPair *,struct `enum spv_result_t __cdecl spvtools::val::`anonymous namespace'::checkLayout(unsigned int,char const *,char const *,bool,bool,unsigned int,class std::unordered_map<struct std::pair<unsigned int,unsigned int>,struct spvtools::val::`anonymous namespace'::LayoutConstraints,struct spvtools::val::A0x470bef9a::PairHash,struct std::equal_to<struct std::pair<unsigned int,unsigned int> >,class std::allocator<struct std::pair<struct std::pair<unsigned int,unsigned int> const ,struct spvtools::val::`anonymous namespace'::LayoutConstraints> > > &,class spvtools::val::ValidationState_t &)'::`2'::MemberOffsetPair *,int,int)" (??$_Buffered_inplace_merge_divide_and_conquer2@PAUMemberOffsetPair@?1??checkLayout@?A0x470bef9a@val@spvtools@@YA?AW4spv_result_t@@IPBD0_N1IAAV?$unordered_map@U?$pair@II@std@@ULayoutConstraints@?A0x470bef9a@val@spvtools@@UPairHash@456@U?$equal_to@U?$pair@II@std@@@2@V?$allocator@U?$pair@$$CBU?$pair@II@std@@ULayoutConstraints@?A0x470bef9a@val@spvtools@@@std@@@2@@std@@AAVValidationState_t@45@@Z@V<lambda_19b221d05b429ea8871b3658691ee31d>@@@std@@YAXPAUMemberOffsetPair@?1??checkLayout@?A0x470bef9a@val@spvtools@@YA?AW4spv_result_t@@IPBD0_N1IAAV?$unordered_map@U?$pair@II@std@@ULayoutConstraints@?A0x470bef9a@val@spvtools@@UPairHash@456@U?$equal_to@U?$pair@II@std@@@2@V?$allocator@U?$pair@$$CBU?$pair@II@std@@ULayoutConstraints@?A0x470bef9a@val@spvtools@@@std@@@2@@0@AAVValidationState_t@45@@Z@44HHQAU1?1??2345@YA?AW46@I0011I23@Z@HV<lambda_19b221d05b429ea8871b3658691ee31d>@@44HH@Z)
shaderc_combined.lib(loop_fusion.obj) : error LNK2019: unresolved external symbol ___std_reverse_trivially_swappable_4 referenced in function "public: bool __thiscall spvtools::opt::LoopFusion::IsLegal(void)" (?IsLegal@LoopFusion@opt@spvtools@@QAE_NXZ)
..\..\bin\RenderSystem_Vulkan.dll : fatal error LNK1120: 2 unresolved externals
[100%] Linking CXX shared library ..\..\bin\RenderSystem_Direct3D11.dll
jom: D:\Repos\Forks\ogre-next-build\msvc2015_x86_release\CMakeFiles\Makefile2 [RenderSystems\Vulkan\CMakeFiles\RenderSystem_Vulkan.dir\all] Error 2
jom: D:\Repos\Forks\ogre-next-build\msvc2015_x86_release\Makefile [all] Error 2
What does it mean?