xmake-io / xmake-repo

📦 An official xmake package repository
https://xrepo.xmake.io
Apache License 2.0
687 stars 394 forks source link

Compilation Error with glslang and libsdl (vulkan=true) under Non-MD VS Runtime #3962

Closed Latias94 closed 6 months ago

Latias94 commented 6 months ago

Xmake Version

v2.9.1+HEAD.0c79f6162,

Operating System Version and Architecture

Windows 11

Describe Bug

This is a follow-up issue to Shaderc install failed with MDd. I'm experiencing a compilation error when using glslang together with libsdl (vulkan=true) and a non-MD vs runtime.

Minimal Reproduction Project:

test_glslang.zip

The issue seems related to the point raised by @star-hengxing in this comment.

@SirLynix, could you help look into this?

Expected Behavior

compile success

Project Configuration

add_rules("mode.debug", "mode.release")
set_languages("c++23")

set_runtimes("MT") -- only compile under MD

add_requires("glslang", {system = false})
add_requires("imgui v1.90.5-docking", {configs = {sdl2 = true, vulkan=true}})
add_requireconfs("glslang", {system = false}) -- cant compile whether enable or not

target("main")
    set_kind("binary")
    add_files("src/*.cpp")
    add_deps("shader_compiler")
    set_rundir("$(projectdir)")
    add_packages("imgui")

target("shader_compiler")
    set_kind("static")
    add_files("src/shader_compiler.cpp")
    add_files("$(projectdir)/vendor/glslang/**.cpp")
    add_packages("glslang", { public = true })

Additional Information and Error Logs

❯ xmake -v
[ 90%]: linking.release main.exe
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.39.33519\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 -libpath:C:\Users\Administrator\AppData\Local\.xmake\packages\i\imgui\v1.90.5-docking\f00c8e4721284afe935e6130e21d93f6\lib -libpath:C:\Users\Administrator\AppData\Local\.xmake\packages\l\libsdl\2.30.2\b4a1e6f52aee4e91828496501645fb7f\lib -libpath:E:\Dev\VulkanSDK\1.3.280.0\lib -libpath:build\windows\x64\release -libpath:C:\Users\Administrator\AppData\Local\.xmake\packages\g\glslang\1.3.280+0\01f6097139074a4ba242e61c43a6d184\lib -libpath:C:\Users\Administrator\AppData\Local\.xmake\packages\s\spirv-tools\1.3.280+0\53d635152aaf4055b0cc4e26f4bfa3a7\lib /opt:ref /opt:icf -nodefaultlib:msvcrt.lib imgui.lib SDL2main.lib SDL2-static.lib vulkan-1.lib shader_compiler.lib glslang.lib MachineIndependent.lib GenericCodeGen.lib OSDependent.lib SPIRV.lib SPVRemapper.lib SPIRV-Tools-link.lib SPIRV-Tools-reduce.lib SPIRV-Tools-opt.lib SPIRV-Tools.lib imm32.lib user32.lib gdi32.lib winmm.lib ole32.lib oleaut32.lib version.lib uuid.lib advapi32.lib setupapi.lib shell32.lib -out:build\windows\x64\release\main.exe build\.objs\main\windows\x64\release\src\main.cpp.obj build\.objs\main\windows\x64\release\src\shader_compiler.cpp.obj
error: MachineIndependent.lib(ShaderLang.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(PoolAlloc.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(Versions.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(Intermediate.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(IntermTraverse.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(InfoSink.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(SymbolTable.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(Scan.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(intermOut.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(linkValidate.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(ParseHelper.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(hlslParseHelper.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(Initialize.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(hlslParseables.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(hlslScanContext.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(PpContext.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(PpScanner.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(reflection.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(iomapper.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(cmake_pch.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(SpirvIntrinsics.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(Constant.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(RemoveTree.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(propagateNoContraction.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(ParseContextBase.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(limits.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(glslang_tab.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(attribute.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(hlslGrammar.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(PpAtom.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(Pp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(parseConst.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(hlslAttributes.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(hlslOpMap.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(hlslTokenStream.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
MachineIndependent.lib(PpTokens.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
GenericCodeGen.lib(CodeGen.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
GenericCodeGen.lib(Link.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV.lib(GlslangToSpv.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV.lib(Logger.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV.lib(SpvBuilder.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV.lib(SpvPostProcess.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV.lib(SpvTools.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV.lib(InReadableOrder.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(optimizer.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(module.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(loop_descriptor.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(mem_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(build_module.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(graphics_robust_access_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(pass_manager.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(aggressive_dead_code_elim_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(amd_ext_to_khr.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(analyze_live_input_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(block_merge_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(ccp_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(cfg_cleanup_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(code_sink.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(combine_access_chains.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(compact_ids_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(convert_to_half_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(convert_to_sampled_image_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(copy_prop_arrays.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(dead_branch_elim_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(dead_insert_elim_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(dead_variable_elimination.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(desc_sroa.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(eliminate_dead_constant_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(eliminate_dead_functions_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(eliminate_dead_io_components_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(eliminate_dead_members_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(eliminate_dead_output_stores_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(fix_func_call_arguments.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(fix_storage_class.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(flatten_decoration_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(fold_spec_constant_op_and_composite_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(freeze_spec_constant_value_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(if_conversion.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(inline_exhaustive_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(inline_opaque_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(instrument_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(inst_bindless_check_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(inst_buff_addr_check_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(inst_debug_printf_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(interface_var_sroa.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(interp_fixup_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(invocation_interlock_placement_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(licm_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(local_access_chain_convert_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(local_redundancy_elimination.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(local_single_block_elim_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(local_single_store_elim_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(loop_fission.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(loop_fusion_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(loop_peeling.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(loop_unroller.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(loop_unswitch_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(merge_return_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(modify_maximal_reconvergence.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(private_to_local_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(reduce_load_size.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(redundancy_elimination.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(relax_float_ops_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(remove_dontinline_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(remove_duplicates_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(remove_unused_interface_variables_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(replace_desc_array_access_using_var_index.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(replace_invalid_opc.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(scalar_replacement_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(set_spec_constant_default_value_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(simplification_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(spread_volatile_semantics.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(ssa_rewrite_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(strength_reduction_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(strip_debug_info_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(strip_nonsemantic_info_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(switch_descriptorset_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(trim_capabilities_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(unify_const_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(upgrade_memory_model.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(vector_dce.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(workaround1209.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(wrap_opkill.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(pch_source_opt.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(instruction.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(function.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(types.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(type_manager.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(feature_manager.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(basic_block.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(def_use_manager.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(cfg.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(constants.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(dominator_tree.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(ir_context.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(instruction_list.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(ir_loader.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(decoration_manager.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(debug_info_manager.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(struct_cfg_analysis.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(eliminate_dead_functions_util.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(const_folding_rules.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(folding_rules.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(fold.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(liveness.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(block_merge_util.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(propagator.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(dominator_analysis.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(composite.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(desc_sroa_util.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(value_number_table.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(inline_pass.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(register_pressure.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(scalar_analysis.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(loop_dependence.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(loop_utils.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(loop_fusion.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(scalar_analysis_simplification.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools-opt.lib(loop_dependence_helpers.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(table.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(spirv_validator_options.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(spirv_optimizer_options.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(disassemble.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(diagnostic.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(libspirv.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(string_utils.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(opcode.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(operand.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(binary.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(assembly_grammar.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(parse_number.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(spirv_target_env.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(bit_vector.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(enum_string_mapping.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(ext_inst.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(pch_source.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(text.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(name_mapper.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(parsed_operand.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(print.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(extensions.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(function.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(instruction.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validation_state.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_cfg.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_id.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_adjacency.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_interfaces.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_mode_setting.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_memory.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_layout.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_instruction.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_decorations.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_builtins.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_type.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_constants.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_arithmetics.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_composites.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_conversion.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_derivatives.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_logicals.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_bitwise.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_image.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_atomics.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_barriers.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_literals.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_extensions.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_annotation.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_non_uniform.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_debug.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_capability.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_primitives.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_function.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_misc.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_ray_query.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_ray_tracing.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_ray_tracing_reorder.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_mesh_shading.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_execution_limitations.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_small_type_uses.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(spirv_endian.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(text_handler.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(basic_block.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(construct.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_scopes.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
SPIRV-Tools.lib(validate_memory_semantics.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(main.cpp.obj 中)
msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)" (??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)" (??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)" (?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void)" (??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: __cdecl std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(void)" (??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __cdecl std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class std::basic_streambuf<char,struct std::char_traits<char> > *,bool)" (??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_istream<char,struct std::char_traits<char> >::~basic_istream<char,struct std::char_traits<char> >(void)" (??1?$basic_istream@DU?$char_traits@D@std@@@std@@UEAA@XZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::clear(int,bool)" (?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: struct _Cvtvec __cdecl std::_Locinfo::_Getcvt(void)const " (?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: unsigned short const * __cdecl std::_Locinfo::_W_Getdays(void)const " (?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ) 已经在 libcpmt.lib(wlocale.obj) 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: unsigned short const * __cdecl std::_Locinfo::_W_Getmonths(void)const " (?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ) 已经在 libcpmt.lib(wlocale.obj) 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,__int64)" (?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __cdecl std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class std::basic_streambuf<char,struct std::char_traits<char> > *,bool)" (??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z) 已经在 shader_compiler.lib(ResourceLimits.cpp.obj) 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_ostream<char,struct std::char_traits<char> >::~basic_ostream<char,struct std::char_traits<char> >(void)" (??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ) 已经在 shader_compiler.lib(ResourceLimits.cpp.obj) 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: void __cdecl std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(bool)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_N@Z) 已经在 shader_compiler.lib(ResourceLimits.cpp.obj) 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z) 已经在 shader_compiler.lib(ResourceLimits.cpp.obj) 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z) 已经在 libcpmt.lib(xlock.obj) 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __cdecl std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QEAA@XZ) 已经在 libcpmt.lib(xlock.obj) 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __cdecl std::locale::id::operator unsigned __int64(void)" (??Bid@locale@std@@QEAA_KXZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: bool __cdecl std::codecvt_base::always_noconv(void)const " (?always_noconv@codecvt_base@std@@QEBA_NXZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: int __cdecl std::codecvt<char,char,struct _Mbstatet>::in(struct _Mbstatet &,char const *,char const *,char const * &,char *,char *,char * &)const " (?in@?$codecvt@DDU_Mbstatet@@@std@@QEBAHAEAU_Mbstatet@@PEBD1AEAPEBDPEAD3AEAPEAD@Z) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: int __cdecl std::codecvt<char,char,struct _Mbstatet>::out(struct _Mbstatet &,char const *,char const *,char const * &,char *,char *,char * &)const " (?out@?$codecvt@DDU_Mbstatet@@@std@@QEBAHAEAU_Mbstatet@@PEBD1AEAPEBDPEAD3AEAPEAD@Z) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: int __cdecl std::codecvt<char,char,struct _Mbstatet>::unshift(struct _Mbstatet &,char *,char *,char * &)const " (?unshift@?$codecvt@DDU_Mbstatet@@@std@@QEBAHAEAU_Mbstatet@@PEAD1AEAPEAD@Z) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: static unsigned __int64 __cdecl std::codecvt<char,char,struct _Mbstatet>::_Getcat(class std::locale::facet const * *,class std::locale const *)" (?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SA_KPEAPEBVfacet@locale@2@PEBV42@@Z) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::locale __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::getloc(void)const " (?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEBA?AVlocale@2@XZ) 已经在 main.cpp.obj  中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Gninc(void)" (?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Init(void)" (?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXXZ) 已经在 main.cpp.obj 中定义
msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: virtual __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::xsgetn(char *,__int64)" (?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z) 已经在 main.cpp.obj 中定义
star-hengxing commented 6 months ago

workaround

add_rules("mode.debug", "mode.release")
set_languages("c++23")

set_runtimes("MTd")
set_optimize("none")

add_requires("glslang")
-- add_requires("vulkansdk")

target("main")
    set_kind("binary")
    add_files("src/*.cpp")
    add_deps("shader_compiler")
    set_rundir("$(projectdir)")
    -- add_packages("vulkansdk")
    add_links(path.unix([[C:\Users\star\scoop\apps\vulkan\current\lib\vulkan-1.lib]]))

target("shader_compiler")
    set_kind("static")
    add_files("src/shader_compiler.cpp")
    add_files("$(projectdir)/vendor/glslang/**.cpp")
    add_packages("glslang", {public = true})
$ xmake -r
[ 30%]: compiling.release src\shader_compiler.cpp
[ 40%]: compiling.release vendor\glslang\ResourceLimits.cpp
[ 50%]: compiling.release src\main.cpp
[ 60%]: compiling.release src\shader_compiler.cpp
[ 70%]: archiving.release shader_compiler.lib
[ 90%]: linking.release main.exe
[100%]: build ok, spent 1.375s
star-hengxing commented 6 months ago

package rule?

rule("vulkansdk")
    on_config(function (target)
        import("lib.detect.find_library")
        import("detect.sdks.find_vulkansdk")

        local vulkansdk = find_vulkansdk()
        if vulkansdk then
            target:add("runevs", "PATH", vulkansdk.bindir)
            target:add("includedirs", vulkansdk.includedirs)

            local utils = {}
            table.insert(utils, target:is_plat("windows") and "vulkan-1" or "vulkan")

            for _, util in ipairs(utils) do
                if not find_library(util, vulkansdk.linkdirs) then
                    wprint(format("The library %s for %s is not found!", util, target:arch()))
                    return
                end
                target:add("links", path.join(vulkansdk.linkdirs[1], util .. (target:is_plat("windows") and ".lib" or ".so")))
            end
        end
    end)
Latias94 commented 6 months ago

Thanks, I build success with minor modified rule target:add("links", ..., {public = true}). I am looking forward to an official solution in the xmake-repo. For now, I will use this workaround.