Skip to content

Conversation

@jeeb
Copy link
Member

@jeeb jeeb commented Sep 10, 2025

This is dumb, yes. One does not handle shared vs static like this, but alas upstream has been doing this since 2023¹.

Until now I've been doing symlinks to work around this, but I keep forgetting it.

¹: KhronosGroup/SPIRV-Cross@bb0c17f

This is dumb, yes. One does not handle shared vs static like this,
but alas upstream has been doing this since 2023¹.

Until now I've been doing symlinks to work around this, but I keep
forgetting it.

[1]: KhronosGroup/SPIRV-Cross@bb0c17f
@jeeb jeeb force-pushed the handle_both_spirv_cross_pc_files branch from 0350198 to 8b238a1 Compare September 10, 2025 21:05
@github-actions
Copy link

Comment on lines +998 to +1017
spirv_cross_preferred_check_failed = false

if prefer_static
spirv_cross_deps = ['spirv-cross-c'] + spirv_cross_deps
else
spirv_cross_deps += ['spirv-cross-c']
endif

foreach spirv_dep : spirv_cross_deps
spirv_cross = dependency(
spirv_dep,
required: spirv_cross_required and spirv_cross_preferred_check_failed
)
if not spirv_cross.found()
spirv_cross_preferred_check_failed = true
continue
endif

break
endforeach
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would this work for you?

Suggested change
spirv_cross_preferred_check_failed = false
if prefer_static
spirv_cross_deps = ['spirv-cross-c'] + spirv_cross_deps
else
spirv_cross_deps += ['spirv-cross-c']
endif
foreach spirv_dep : spirv_cross_deps
spirv_cross = dependency(
spirv_dep,
required: spirv_cross_required and spirv_cross_preferred_check_failed
)
if not spirv_cross.found()
spirv_cross_preferred_check_failed = true
continue
endif
break
endforeach
foreach arg : [[prefer_static, false], [not prefer_static, spirv_cross_required]]
spirv_cross = dependency(arg[0] ? 'spirv-cross-c' : 'spirv-cross-c-shared', required: arg[1])
if spirv_cross.found()
break
endif
endforeach

@rach-md
Copy link
Contributor

rach-md commented Sep 17, 2025

Is this working? sorry because I can't get it working. I try with spirv-cross static build, libplacebo check spirv-cross-c, and this pr. I use build scripts based on shinchiro and zhongfly

Linking target mpv.exe
FAILED: mpv.exe 
/__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/clang_root/bin/x86_64-w64-mingw32-g++  -o mpv.exe osdep_mpv.rc_mpv.o libmpv.a.p/audio_aframe.c.obj libmpv.a.p/audio_chmap.c.obj libmpv.a.p/audio_chmap_avchannel.c.obj libmpv.a.p/audio_chmap_sel.c.obj libmpv.a.p/audio_decode_ad_lavc.c.obj libmpv.a.p/audio_decode_ad_spdif.c.obj libmpv.a.p/audio_filter_af_drop.c.obj libmpv.a.p/audio_filter_af_format.c.obj libmpv.a.p/audio_filter_af_lavcac3enc.c.obj libmpv.a.p/audio_filter_af_scaletempo.c.obj libmpv.a.p/audio_filter_af_scaletempo2.c.obj libmpv.a.p/audio_filter_af_scaletempo2_internals.c.obj libmpv.a.p/audio_fmt-conversion.c.obj libmpv.a.p/audio_format.c.obj libmpv.a.p/audio_out_ao.c.obj libmpv.a.p/audio_out_ao_lavc.c.obj libmpv.a.p/audio_out_ao_null.c.obj libmpv.a.p/audio_out_ao_pcm.c.obj libmpv.a.p/audio_out_buffer.c.obj libmpv.a.p/common_av_common.c.obj libmpv.a.p/common_av_log.c.obj libmpv.a.p/common_codecs.c.obj libmpv.a.p/common_common.c.obj libmpv.a.p/common_encode_lavc.c.obj libmpv.a.p/common_msg.c.obj libmpv.a.p/common_playlist.c.obj libmpv.a.p/common_recorder.c.obj libmpv.a.p/common_stats.c.obj libmpv.a.p/common_tags.c.obj libmpv.a.p/common_version.c.obj libmpv.a.p/demux_codec_tags.c.obj libmpv.a.p/demux_cue.c.obj libmpv.a.p/demux_cache.c.obj libmpv.a.p/demux_demux.c.obj libmpv.a.p/demux_demux_cue.c.obj libmpv.a.p/demux_demux_disc.c.obj libmpv.a.p/demux_demux_edl.c.obj libmpv.a.p/demux_demux_lavf.c.obj libmpv.a.p/demux_demux_mf.c.obj libmpv.a.p/demux_demux_mkv.c.obj libmpv.a.p/demux_demux_mkv_timeline.c.obj libmpv.a.p/demux_demux_mpv.c.obj libmpv.a.p/demux_demux_null.c.obj libmpv.a.p/demux_demux_playlist.c.obj libmpv.a.p/demux_demux_raw.c.obj libmpv.a.p/demux_demux_timeline.c.obj libmpv.a.p/demux_ebml.c.obj libmpv.a.p/demux_packet.c.obj libmpv.a.p/demux_packet_pool.c.obj libmpv.a.p/demux_timeline.c.obj libmpv.a.p/filters_f_async_queue.c.obj libmpv.a.p/filters_f_autoconvert.c.obj libmpv.a.p/filters_f_auto_filters.c.obj libmpv.a.p/filters_f_decoder_wrapper.c.obj libmpv.a.p/filters_f_demux_in.c.obj libmpv.a.p/filters_f_hwtransfer.c.obj libmpv.a.p/filters_f_lavfi.c.obj libmpv.a.p/filters_f_output_chain.c.obj libmpv.a.p/filters_f_swresample.c.obj libmpv.a.p/filters_f_swscale.c.obj libmpv.a.p/filters_f_utils.c.obj libmpv.a.p/filters_filter.c.obj libmpv.a.p/filters_frame.c.obj libmpv.a.p/filters_user_filters.c.obj libmpv.a.p/input_cmd.c.obj libmpv.a.p/input_event.c.obj libmpv.a.p/input_input.c.obj libmpv.a.p/input_ipc.c.obj libmpv.a.p/input_keycodes.c.obj libmpv.a.p/misc_bstr.c.obj libmpv.a.p/misc_charset_conv.c.obj libmpv.a.p/misc_codepoint_width.c.obj libmpv.a.p/misc_dispatch.c.obj libmpv.a.p/misc_io_utils.c.obj libmpv.a.p/misc_json.c.obj libmpv.a.p/misc_language.c.obj libmpv.a.p/misc_natural_sort.c.obj libmpv.a.p/misc_node.c.obj libmpv.a.p/misc_path_utils.c.obj libmpv.a.p/misc_random.c.obj libmpv.a.p/misc_rendezvous.c.obj libmpv.a.p/misc_thread_pool.c.obj libmpv.a.p/misc_thread_tools.c.obj libmpv.a.p/options_m_config_core.c.obj libmpv.a.p/options_m_config_frontend.c.obj libmpv.a.p/options_m_option.c.obj libmpv.a.p/options_m_property.c.obj libmpv.a.p/options_options.c.obj libmpv.a.p/options_parse_commandline.c.obj libmpv.a.p/options_parse_configfile.c.obj libmpv.a.p/options_path.c.obj libmpv.a.p/player_audio.c.obj libmpv.a.p/player_client.c.obj libmpv.a.p/player_command.c.obj libmpv.a.p/player_configfiles.c.obj libmpv.a.p/player_external_files.c.obj libmpv.a.p/player_loadfile.c.obj libmpv.a.p/player_main.c.obj libmpv.a.p/player_misc.c.obj libmpv.a.p/player_osd.c.obj libmpv.a.p/player_playloop.c.obj libmpv.a.p/player_screenshot.c.obj libmpv.a.p/player_scripting.c.obj libmpv.a.p/player_sub.c.obj libmpv.a.p/player_video.c.obj libmpv.a.p/player_clipboard_clipboard.c.obj libmpv.a.p/player_clipboard_clipboard-vo.c.obj libmpv.a.p/stream_cookies.c.obj libmpv.a.p/stream_stream.c.obj libmpv.a.p/stream_stream_avdevice.c.obj libmpv.a.p/stream_stream_cb.c.obj libmpv.a.p/stream_stream_concat.c.obj libmpv.a.p/stream_stream_edl.c.obj libmpv.a.p/stream_stream_file.c.obj libmpv.a.p/stream_stream_lavf.c.obj libmpv.a.p/stream_stream_memory.c.obj libmpv.a.p/stream_stream_mf.c.obj libmpv.a.p/stream_stream_mpv.c.obj libmpv.a.p/stream_stream_null.c.obj libmpv.a.p/stream_stream_slice.c.obj libmpv.a.p/sub_ass_mp.c.obj libmpv.a.p/sub_dec_sub.c.obj libmpv.a.p/sub_draw_bmp.c.obj libmpv.a.p/sub_filter_sdh.c.obj libmpv.a.p/sub_img_convert.c.obj libmpv.a.p/sub_lavc_conv.c.obj libmpv.a.p/sub_osd.c.obj libmpv.a.p/sub_osd_libass.c.obj libmpv.a.p/sub_sd_ass.c.obj libmpv.a.p/sub_sd_lavc.c.obj libmpv.a.p/video_csputils.c.obj libmpv.a.p/video_decode_vd_lavc.c.obj libmpv.a.p/video_filter_refqueue.c.obj libmpv.a.p/video_filter_vf_format.c.obj libmpv.a.p/video_filter_vf_sub.c.obj libmpv.a.p/video_fmt-conversion.c.obj libmpv.a.p/video_hwdec.c.obj libmpv.a.p/video_image_loader.c.obj libmpv.a.p/video_image_writer.c.obj libmpv.a.p/video_img_format.c.obj libmpv.a.p/video_mp_image.c.obj libmpv.a.p/video_mp_image_pool.c.obj libmpv.a.p/video_out_aspect.c.obj libmpv.a.p/video_out_bitmap_packer.c.obj libmpv.a.p/video_out_dither.c.obj libmpv.a.p/video_out_dr_helper.c.obj libmpv.a.p/video_out_filter_kernels.c.obj libmpv.a.p/video_out_gpu_context.c.obj libmpv.a.p/video_out_gpu_error_diffusion.c.obj libmpv.a.p/video_out_gpu_hwdec.c.obj libmpv.a.p/video_out_gpu_lcms.c.obj libmpv.a.p/video_out_gpu_libmpv_gpu.c.obj libmpv.a.p/video_out_gpu_osd.c.obj libmpv.a.p/video_out_gpu_ra.c.obj libmpv.a.p/video_out_gpu_shader_cache.c.obj libmpv.a.p/video_out_gpu_spirv.c.obj libmpv.a.p/video_out_gpu_user_shaders.c.obj libmpv.a.p/video_out_gpu_utils.c.obj libmpv.a.p/video_out_gpu_video.c.obj libmpv.a.p/video_out_gpu_video_shaders.c.obj libmpv.a.p/video_out_libmpv_sw.c.obj libmpv.a.p/video_out_vo.c.obj libmpv.a.p/video_out_vo_gpu.c.obj libmpv.a.p/video_out_vo_image.c.obj libmpv.a.p/video_out_vo_lavc.c.obj libmpv.a.p/video_out_vo_libmpv.c.obj libmpv.a.p/video_out_vo_null.c.obj libmpv.a.p/video_out_vo_tct.c.obj libmpv.a.p/video_out_vo_kitty.c.obj libmpv.a.p/video_out_win_state.c.obj libmpv.a.p/video_repack.c.obj libmpv.a.p/video_sws_utils.c.obj libmpv.a.p/video_out_placebo_ra_pl.c.obj libmpv.a.p/video_out_placebo_utils.c.obj libmpv.a.p/video_out_vo_gpu_next.c.obj libmpv.a.p/video_out_gpu_next_context.c.obj libmpv.a.p/osdep_io.c.obj libmpv.a.p/osdep_subprocess.c.obj libmpv.a.p/osdep_timer.c.obj libmpv.a.p/ta_ta.c.obj libmpv.a.p/ta_ta_talloc.c.obj libmpv.a.p/ta_ta_utils.c.obj libmpv.a.p/demux_demux_sbr.c.obj libmpv.a.p/sub_sd_sbr.c.obj libmpv.a.p/osdep_w32_keyboard.c.obj libmpv.a.p/osdep_windows_utils.c.obj libmpv.a.p/osdep_subprocess-win.c.obj libmpv.a.p/input_ipc-win.c.obj libmpv.a.p/player_clipboard_clipboard-win.c.obj libmpv.a.p/osdep_language-win.c.obj libmpv.a.p/osdep_terminal-win.c.obj libmpv.a.p/osdep_w32_register.c.obj libmpv.a.p/video_out_w32_common.c.obj libmpv.a.p/video_out_win32_displayconfig.c.obj libmpv.a.p/video_out_win32_droptarget.c.obj libmpv.a.p/video_out_win32_menu.c.obj libmpv.a.p/osdep_win32_smtc.cpp.obj libmpv.a.p/osdep_glob-win.c.obj libmpv.a.p/osdep_path-win.c.obj libmpv.a.p/osdep_timer-win32.c.obj libmpv.a.p/demux_demux_libarchive.c.obj libmpv.a.p/stream_stream_libarchive.c.obj libmpv.a.p/player_lua.c.obj libmpv.a.p/audio_out_ao_wasapi.c.obj libmpv.a.p/audio_out_ao_wasapi_changenotify.c.obj libmpv.a.p/audio_out_ao_wasapi_utils.c.obj libmpv.a.p/video_out_gpu_spirv_shaderc.c.obj libmpv.a.p/video_out_d3d11_context.c.obj libmpv.a.p/video_out_d3d11_ra_d3d11.c.obj libmpv.a.p/video_out_gpu_d3d11_helpers.c.obj libmpv.a.p/video_d3d.c.obj libmpv.a.p/video_filter_vf_d3d11vpp.c.obj libmpv.a.p/video_out_d3d11_hwdec_d3d11va.c.obj libmpv.a.p/video_out_d3d11_hwdec_dxva2dxgi.c.obj mpv.exe.p/osdep_main-fn-win.c.obj -flto=thin -Wl,-O1 -Wl,--nxcompat,--no-seh,--dynamicbase -Wl,--start-group /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libass.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libiconv.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libgdi32.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libfribidi.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libharfbuzz.a -lm /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libfreetype.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libbz2.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libpng16.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libz.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libbrotlidec.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libbrotlicommon.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libunibreak.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libavcodec.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/liblzma.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libdav1d.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libjxl.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libhwy.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libbrotlienc.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libjxl_cms.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libc++.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/liblcms2.a -pthread /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libjxl_threads.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libole32.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libswresample.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libavutil.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libuser32.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libbcrypt.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libavfilter.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libavformat.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libsecur32.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libncrypt.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libcrypt32.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libws2_32.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libplacebo.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libshlwapi.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libversion.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libshaderc_combined.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libspirv-cross-c.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libswscale.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libsubrandr.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libuserenv.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libavrt.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libdwmapi.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libimm32.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libntdll.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libpathcch.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libshcore.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libuuid.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libuxtheme.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libruntimeobject.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libarchive.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libzstd.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libcharset.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libavdevice.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libluajit-5.1.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libuchardet.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libstdc++.a /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/lib/libjpeg.a -Wl,--subsystem,windows -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -Wl,--end-group
ld.lld: error: undefined symbol: spirv_cross::Parser::Parser(unsigned int const*, unsigned long long)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::Parser::parse()
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::ParsedIR::operator=(spirv_cross::ParsedIR&&)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::Compiler::Compiler(spirv_cross::ParsedIR&&)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::Compiler::Compiler(spirv_cross::ParsedIR const&)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerGLSL::add_header_line(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerGLSL::require_extension(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerGLSL::get_required_extensions() const
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerGLSL::flatten_buffer_block(spirv_cross::TypedID<(spirv_cross::Types)2>)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerGLSL::variable_is_depth_or_compare(spirv_cross::TypedID<(spirv_cross::Types)2>) const
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerGLSL::mask_stage_output_by_location(unsigned int, unsigned int)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerGLSL::mask_stage_output_by_builtin(spv::BuiltIn)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerHLSL::set_root_constant_layouts(std::__1::vector<spirv_cross::RootConstants, std::__1::allocator<spirv_cross::RootConstants>>)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerHLSL::add_vertex_attribute_remap(spirv_cross::HLSLVertexAttributeRemap const&)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerHLSL::remap_num_workgroups_builtin()
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerHLSL::set_resource_binding_flags(unsigned int)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerHLSL::add_hlsl_resource_binding(spirv_cross::HLSLResourceBinding const&)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::CompilerHLSL::is_hlsl_resource_binding_used(spv::ExecutionModel, unsigned int, unsigned int) const
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::Compiler::get_active_interface_variables() const
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: undefined symbol: spirv_cross::Compiler::set_enabled_interface_variables(std::__1::unordered_set<spirv_cross::TypedID<(spirv_cross::Types)2>, std::__1::hash<spirv_cross::TypedID<(spirv_cross::Types)2>>, std::__1::equal_to<spirv_cross::TypedID<(spirv_cross::Types)2>>, std::__1::allocator<spirv_cross::TypedID<(spirv_cross::Types)2>>>)
>>> referenced by /__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/src_packages/spirv-cross/spirv_cross_c.cpp
>>>               libspirv-cross-c.a(spirv_cross_c.cpp.obj)

ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)

@kasper93 kasper93 added this to the Release v0.41.0 milestone Sep 20, 2025
@kasper93 kasper93 removed this from the Release v0.41.0 milestone Sep 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants