Skip to content

Vulkan does not work on windows #1

@chemicstry

Description

@chemicstry

Linking fails on windows:

$ cargo run --example benchmark --release --features ncnn-bind/vulkan
   Compiling ncnn-bind v0.1.1 (D:\Dev\rust-ncnn\ncnn-bind)
   Compiling ncnn-rs v0.1.1 (D:\Dev\rust-ncnn\ncnn-rs)
error: linking with `link.exe` failed: exit code: 1120
  |
  = note: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.25.28610\\bin\\HostX64\\x64\\link.exe" "/NOLOGO" "C:\\Users\\User\\AppData\\Local\\Temp\\rustcUnL6DA\\symbols.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.0.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.1.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.10.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.11.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.12.rcgu.o" 
"D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.13.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.14.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.15.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.2.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.3.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.4.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.5.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.6.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.7.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.8.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.benchmark.dac570e1-cgu.9.rcgu.o" "D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.1xinaw9h0nl01xq1.rcgu.o" "/LIBPATH:D:\\Dev\\rust-ncnn\\target\\release\\deps" "/LIBPATH:D:\\Dev\\rust-ncnn\\target\\release\\build\\ncnn-bind-90dd69b393bc8391\\out" "/LIBPATH:D:\\Dev\\rust-ncnn\\target\\release\\build\\ncnn-bind-90dd69b393bc8391\\out\\lib" "/LIBPATH:C:\\Program Files\\VulkanSDK\\1.2.131.2/Lib" "/LIBPATH:C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "D:\\Dev\\rust-ncnn\\target\\release\\deps\\libncnn_rs-e8c73af622e9203d.rlib" "D:\\Dev\\rust-ncnn\\target\\release\\deps\\libanyhow-976e149dbb5e08fd.rlib" "D:\\Dev\\rust-ncnn\\target\\release\\deps\\liblibc-c6c5f38c304d847a.rlib" "D:\\Dev\\rust-ncnn\\target\\release\\deps\\libncnn_bind-de02af2c5c88bbc4.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd-4a00450d169b6eb7.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libpanic_unwind-aebdd47781a8ded3.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_demangle-75d00692298b803c.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd_detect-212d184ebbb3da0c.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libhashbrown-bb2ae27a3860a710.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libminiz_oxide-aebeb1235b6ade9b.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libadler-8d905bd195def6d5.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_alloc-cdd36af8506e2d87.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libunwind-57642f47c953f1ca.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcfg_if-ddc101acd19cf3dd.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liblibc-304d7f6977c84a4b.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liballoc-32d7ee0be9e46c85.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_core-015e9ae63a74e3a1.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcore-15d7d0533432428b.rlib" "C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcompiler_builtins-cfe8447efe28cb1e.rlib" "vulkan-1.lib" "glslang.lib" "SPIRV.lib" "OGLCompiler.lib" "OSDependent.lib" "advapi32.lib" "userenv.lib" "kernel32.lib" "ws2_32.lib" "bcrypt.lib" "msvcrt.lib" "/NXCOMPAT" "/LIBPATH:C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "/OUT:D:\\Dev\\rust-ncnn\\target\\release\\examples\\benchmark.exe" "/OPT:REF,ICF" "/DEBUG" "/NATVIS:C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:C:\\Users\\User\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libstd.natvis" "-fuse-ld=lld"
  = note: LINK : warning LNK4044: unrecognized option '/fuse-ld=lld'; ignored
          libncnn_bind-de02af2c5c88bbc4.rlib(gpu.obj) : error LNK2019: unresolved external symbol "bool __cdecl glslang::InitializeProcess(void)" (?InitializeProcess@glslang@@YA_NXZ) referenced in function "int __cdecl ncnn::create_gpu_instance(void)" (?create_gpu_instance@ncnn@@YAHXZ)
          libncnn_bind-de02af2c5c88bbc4.rlib(gpu.obj) : error LNK2019: unresolved external symbol "void __cdecl glslang::FinalizeProcess(void)" (?FinalizeProcess@glslang@@YAXXZ) referenced in function "void __cdecl ncnn::`dynamic atexit destructor for 'g_instance''(void)" (??__Fg_instance@ncnn@@YAXXZ)
          libncnn_bind-de02af2c5c88bbc4.rlib(gpu.obj) : error LNK2019: unresolved external symbol "public: __cdecl glslang::TShader::TShader(enum EShLanguage)" (??0TShader@glslang@@QEAA@W4EShLanguage@@@Z) referenced in function "int __cdecl ncnn::compile_spirv_module(char const *,int,class ncnn::Option const &,class std::vector<unsigned int,class std::allocator<unsigned int> > &)" (?compile_spirv_module@ncnn@@YAHPEBDHAEBVOption@1@AEAV?$vector@IV?$allocator@I@std@@@std@@@Z)
          libncnn_bind-de02af2c5c88bbc4.rlib(gpu.obj) : error LNK2019: unresolved external symbol "public: virtual __cdecl glslang::TShader::~TShader(void)" (??1TShader@glslang@@UEAA@XZ) referenced in function "int __cdecl 
ncnn::compile_spirv_module(char const *,int,class ncnn::Option const &,class std::vector<unsigned int,class std::allocator<unsigned int> > &)" (?compile_spirv_module@ncnn@@YAHPEBDHAEBVOption@1@AEAV?$vector@IV?$allocator@I@std@@@std@@@Z)
          libncnn_bind-de02af2c5c88bbc4.rlib(gpu.obj) : error LNK2019: unresolved external symbol "public: void __cdecl glslang::TShader::setStringsWithLengths(char const * const *,int const *,int)" (?setStringsWithLengths@TShader@glslang@@QEAAXPEBQEBDPEBHH@Z) referenced in function "int __cdecl ncnn::compile_spirv_module(char const *,int,class ncnn::Option const &,class std::vector<unsigned int,class std::allocator<unsigned int> > &)" (?compile_spirv_module@ncnn@@YAHPEBDHAEBVOption@1@AEAV?$vector@IV?$allocator@I@std@@@std@@@Z)
          libncnn_bind-de02af2c5c88bbc4.rlib(gpu.obj) : error LNK2019: unresolved external symbol "public: void __cdecl glslang::TShader::setEntryPoint(char const *)" (?setEntryPoint@TShader@glslang@@QEAAXPEBD@Z) referenced in function "int __cdecl ncnn::compile_spirv_module(char const *,int,class ncnn::Option const &,class std::vector<unsigned int,class std::allocator<unsigned int> > &)" (?compile_spirv_module@ncnn@@YAHPEBDHAEBVOption@1@AEAV?$vector@IV?$allocator@I@std@@@std@@@Z)
          libncnn_bind-de02af2c5c88bbc4.rlib(gpu.obj) : error LNK2019: unresolved external symbol "public: void __cdecl glslang::TShader::setSourceEntryPoint(char const *)" (?setSourceEntryPoint@TShader@glslang@@QEAAXPEBD@Z) referenced in function "int __cdecl ncnn::compile_spirv_module(char const *,int,class ncnn::Option const &,class std::vector<unsigned int,class std::allocator<unsigned int> > &)" (?compile_spirv_module@ncnn@@YAHPEBDHAEBVOption@1@AEAV?$vector@IV?$allocator@I@std@@@std@@@Z)
          libncnn_bind-de02af2c5c88bbc4.rlib(gpu.obj) : error LNK2019: unresolved external symbol "public: void __cdecl glslang::TShader::addProcesses(class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &)" (?addProcesses@TShader@glslang@@QEAAXAEBV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@@Z) referenced in function "int __cdecl ncnn::compile_spirv_module(char const *,int,class ncnn::Option const &,class std::vector<unsigned int,class std::allocator<unsigned int> > &)" (?compile_spirv_module@ncnn@@YAHPEBDHAEBVOption@1@AEAV?$vector@IV?$allocator@I@std@@@std@@@Z)
          libncnn_bind-de02af2c5c88bbc4.rlib(gpu.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl glslang::TShader::parse(struct TBuiltInResource const *,int,enum EProfile,bool,bool,enum EShMessages,class glslang::TShader::Includer &)" (?parse@TShader@glslang@@QEAA_NPEBUTBuiltInResource@@HW4EProfile@@_N2W4EShMessages@@AEAVIncluder@12@@Z) referenced in function "int __cdecl ncnn::compile_spirv_module(char const *,int,class ncnn::Option const &,class std::vector<unsigned int,class std::allocator<unsigned int> > &)" (?compile_spirv_module@ncnn@@YAHPEBDHAEBVOption@1@AEAV?$vector@IV?$allocator@I@std@@@std@@@Z)
          libncnn_bind-de02af2c5c88bbc4.rlib(gpu.obj) : error LNK2019: unresolved external symbol "public: char const * __cdecl glslang::TShader::getInfoLog(void)" (?getInfoLog@TShader@glslang@@QEAAPEBDXZ) referenced in function "int __cdecl ncnn::compile_spirv_module(char const *,int,class ncnn::Option const &,class std::vector<unsigned int,class std::allocator<unsigned int> > &)" (?compile_spirv_module@ncnn@@YAHPEBDHAEBVOption@1@AEAV?$vector@IV?$allocator@I@std@@@std@@@Z)
          libncnn_bind-de02af2c5c88bbc4.rlib(gpu.obj) : error LNK2019: unresolved external symbol "public: char const * __cdecl glslang::TShader::getInfoDebugLog(void)" (?getInfoDebugLog@TShader@glslang@@QEAAPEBDXZ) referenced in function "int __cdecl ncnn::compile_spirv_module(char const *,int,class ncnn::Option const &,class std::vector<unsigned int,class std::allocator<unsigned int> > &)" (?compile_spirv_module@ncnn@@YAHPEBDHAEBVOption@1@AEAV?$vector@IV?$allocator@I@std@@@std@@@Z)
          SPIRV.lib(GlslangToSpv.obj) : error LNK2019: unresolved external symbol "public: void __cdecl glslang::TPoolAllocator::push(void)" (?push@TPoolAllocator@glslang@@QEAAXXZ) referenced in function "void __cdecl glslang::GlslangToSpv(class glslang::TIntermediate const &,class std::vector<unsigned int,class std::allocator<unsigned int> > &,struct glslang::SpvOptions *)" (?GlslangToSpv@glslang@@YAXAEBVTIntermediate@1@AEAV?$vector@IV?$allocator@I@std@@@std@@PEAUSpvOptions@1@@Z)
          SPIRV.lib(GlslangToSpv.obj) : error LNK2019: unresolved external symbol "public: void __cdecl glslang::TPoolAllocator::pop(void)" (?pop@TPoolAllocator@glslang@@QEAAXXZ) referenced in function "void __cdecl glslang::GlslangToSpv(class glslang::TIntermediate const &,class std::vector<unsigned int,class std::allocator<unsigned int> > &,struct glslang::SpvOptions *)" (?GlslangToSpv@glslang@@YAXAEBVTIntermediate@1@AEAV?$vector@IV?$allocator@I@std@@@std@@PEAUSpvOptions@1@@Z)
          SPIRV.lib(GlslangToSpv.obj) : error LNK2019: unresolved external symbol "public: void * __cdecl glslang::TPoolAllocator::allocate(unsigned __int64)" (?allocate@TPoolAllocator@glslang@@QEAAPEAX_K@Z) referenced in function "protected: struct std::_Tree_node<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> >,void *> * __cdecl std::_Tree<class std::_Tmap_traits<int,class glslang::TVector<class glslang::TIntermConstantUnion const *>,struct std::less<int>,class glslang::pool_allocator<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> > >,0> >::_Copy_nodes<struct std::_Tree<class std::_Tmap_traits<int,class glslang::TVector<class glslang::TIntermConstantUnion const *>,struct std::less<int>,class glslang::pool_allocator<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> > >,0> >::_Copy_tag>(struct std::_Tree_node<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> >,void *> *,struct std::_Tree_node<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> >,void *> *,struct std::_Tree<class std::_Tmap_traits<int,class glslang::TVector<class glslang::TIntermConstantUnion const *>,struct std::less<int>,class glslang::pool_allocator<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> > >,0> >::_Copy_tag)" (??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@HV?$TVector@PEBVTIntermConstantUnion@glslang@@@glslang@@U?$less@H@std@@V?$pool_allocator@U?$pair@$$CBHV?$TVector@PEBVTIntermConstantUnion@glslang@@@glslang@@@std@@@2@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@HV?$TVector@PEBVTIntermConstantUnion@glslang@@@glslang@@U?$less@H@std@@V?$pool_allocator@U?$pair@$$CBHV?$TVector@PEBVTIntermConstantUnion@glslang@@@glslang@@@std@@@2@$0A@@std@@@std@@IEAAPEAU?$_Tree_node@U?$pair@$$CBHV?$TVector@PEBVTIntermConstantUnion@glslang@@@glslang@@@std@@PEAX@1@PEAU21@0U_Copy_tag@01@@Z)
          SPIRV.lib(GlslangToSpv.obj) : error LNK2019: unresolved external symbol "class glslang::TPoolAllocator & __cdecl glslang::GetThreadPoolAllocator(void)" (?GetThreadPoolAllocator@glslang@@YAAEAVTPoolAllocator@1@XZ) 
referenced in function "protected: struct std::_Tree_node<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> >,void *> * __cdecl std::_Tree<class std::_Tmap_traits<int,class glslang::TVector<class glslang::TIntermConstantUnion const *>,struct std::less<int>,class glslang::pool_allocator<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> > >,0> >::_Copy_nodes<struct std::_Tree<class std::_Tmap_traits<int,class glslang::TVector<class glslang::TIntermConstantUnion const *>,struct std::less<int>,class glslang::pool_allocator<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> > >,0> >::_Copy_tag>(struct std::_Tree_node<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> >,void *> *,struct std::_Tree_node<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> >,void *> *,struct std::_Tree<class std::_Tmap_traits<int,class glslang::TVector<class glslang::TIntermConstantUnion const *>,struct std::less<int>,class glslang::pool_allocator<struct std::pair<int const ,class glslang::TVector<class glslang::TIntermConstantUnion const *> > >,0> >::_Copy_tag)" (??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@HV?$TVector@PEBVTIntermConstantUnion@glslang@@@glslang@@U?$less@H@std@@V?$pool_allocator@U?$pair@$$CBHV?$TVector@PEBVTIntermConstantUnion@glslang@@@glslang@@@std@@@2@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@HV?$TVector@PEBVTIntermConstantUnion@glslang@@@glslang@@U?$less@H@std@@V?$pool_allocator@U?$pair@$$CBHV?$TVector@PEBVTIntermConstantUnion@glslang@@@glslang@@@std@@@2@$0A@@std@@@std@@IEAAPEAU?$_Tree_node@U?$pair@$$CBHV?$TVector@PEBVTIntermConstantUnion@glslang@@@glslang@@@std@@PEAX@1@PEAU21@0U_Copy_tag@01@@Z)
          SPIRV.lib(GlslangToSpv.obj) : error LNK2019: unresolved external symbol "int __cdecl glslang::GetKhronosToolId(void)" (?GetKhronosToolId@glslang@@YAHXZ) referenced in function "public: __cdecl `anonymous namespace'::TGlslangToSpvTraverser::TGlslangToSpvTraverser(unsigned int,class glslang::TIntermediate const *,class spv::SpvBuildLogger *,struct glslang::SpvOptions &)" (??0TGlslangToSpvTraverser@?A0x7e21dd2a@@QEAA@IPEBVTIntermediate@glslang@@PEAVSpvBuildLogger@spv@@AEAUSpvOptions@3@@Z)
          SPIRV.lib(GlslangToSpv.obj) : error LNK2019: unresolved external symbol "public: class glslang::TIntermAggregate * __cdecl glslang::TIntermediate::findLinkerObjects(void)const " (?findLinkerObjects@TIntermediate@glslang@@QEBAPEAVTIntermAggregate@2@XZ) referenced in function "public: virtual bool __cdecl `anonymous namespace'::TGlslangToSpvTraverser::visitAggregate(enum glslang::TVisit,class glslang::TIntermAggregate *)" (?visitAggregate@TGlslangToSpvTraverser@?A0x7e21dd2a@@UEAA_NW4TVisit@glslang@@PEAVTIntermAggregate@4@@Z)
          SPIRV.lib(GlslangToSpv.obj) : error LNK2019: unresolved external symbol "public: static int __cdecl glslang::TIntermediate::getBaseAlignmentScalar(class glslang::TType const &,int &)" (?getBaseAlignmentScalar@TIntermediate@glslang@@SAHAEBVTType@2@AEAH@Z) referenced in function "public: virtual bool __cdecl `anonymous namespace'::TGlslangToSpvTraverser::visitBinary(enum glslang::TVisit,class glslang::TIntermBinary *)" (?visitBinary@TGlslangToSpvTraverser@?A0x7e21dd2a@@UEAA_NW4TVisit@glslang@@PEAVTIntermBinary@4@@Z)
          SPIRV.lib(GlslangToSpv.obj) : error LNK2019: unresolved external symbol "public: static int __cdecl glslang::TIntermediate::getMemberAlignment(class glslang::TType const &,int &,int &,enum glslang::TLayoutPacking,bool)" (?getMemberAlignment@TIntermediate@glslang@@SAHAEBVTType@2@AEAH1W4TLayoutPacking@2@_N@Z) referenced in function "protected: unsigned int __cdecl `anonymous namespace'::TGlslangToSpvTraverser::convertGlslangToSpvType(class glslang::TType const &,enum glslang::TLayoutPacking,class glslang::TQualifier const &,bool,bool)" (?convertGlslangToSpvType@TGlslangToSpvTraverser@?A0x7e21dd2a@@IEAAIAEBVTType@glslang@@W4TLayoutPacking@4@AEBVTQualifier@4@_N3@Z)
          SPIRV.lib(GlslangToSpv.obj) : error LNK2019: unresolved external symbol "public: static bool __cdecl glslang::TIntermediate::improperStraddle(class glslang::TType const &,int,int)" (?improperStraddle@TIntermediate@glslang@@SA_NAEBVTType@2@HH@Z) referenced in function "protected: void __cdecl `anonymous namespace'::TGlslangToSpvTraverser::decorateStructType(class glslang::TType const &,class glslang::TVector<struct glslang::TTypeLoc> const *,enum glslang::TLayoutPacking,class glslang::TQualifier const &,unsigned int)" (?decorateStructType@TGlslangToSpvTraverser@?A0x7e21dd2a@@IEAAXAEBVTType@glslang@@PEBV?$TVector@UTTypeLoc@glslang@@@4@W4TLayoutPacking@4@AEBVTQualifier@4@I@Z)
          D:\Dev\rust-ncnn\target\release\examples\benchmark.exe : fatal error LNK1120: 20 unresolved externals        

This error appears even when adding proper links in build.rs:

    println!("cargo:rustc-link-lib=glslang");
    println!("cargo:rustc-link-lib=SPIRV");
    println!("cargo:rustc-link-lib=OGLCompiler");
    println!("cargo:rustc-link-lib=OSDependent");

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions