GNOME Bugzilla – Bug 796928
wasapi plugins fail to build with Visual Studio when using the Windows 8.1 SDK
Last modified: 2018-11-03 14:29:19 UTC
Install Visual Studio 2015 with only the Windows 8.1 SDK selected, open a Visual Studio command line prompt, clone gst-build and build it with Meson. You'll get the following error: ninja: Entering directory `build' [1/130] Linking target subprojects/gst-plugins-bad/sys/wasapi/gstwasapi.dll. FAILED: subprojects/gst-plugins-bad/sys/wasapi/gstwasapi.dll link @subprojects/gst-plugins-bad/sys/wasapi/gstwasapi.dll.rsp gstwasapisrc.c.obj : error LNK2005: _PKEY_AudioEndpoint_FormFactor already defined in gstwasapi.c.obj gstwasapisrc.c.obj : error LNK2005: _PKEY_AudioEndpoint_ControlPanelPageProvider already defined in gstwasapi.c.obj gstwasapisrc.c.obj : error LNK2005: _PKEY_AudioEndpoint_Association already defined in gstwasapi.c.obj gstwasapisrc.c.obj : error LNK2005: _PKEY_AudioEndpoint_PhysicalSpeakers already defined in gstwasapi.c.obj gstwasapisrc.c.obj : error LNK2005: _PKEY_AudioEndpoint_GUID already defined in gstwasapi.c.obj gstwasapisrc.c.obj : error LNK2005: _PKEY_AudioEndpoint_Disable_SysFx already defined in gstwasapi.c.obj gstwasapisrc.c.obj : error LNK2005: _PKEY_AudioEndpoint_FullRangeSpeakers already defined in gstwasapi.c.obj gstwasapisrc.c.obj : error LNK2005: _PKEY_AudioEndpoint_Supports_EventDriven_Mode already defined in gstwasapi.c.obj gstwasapisrc.c.obj : error LNK2005: _PKEY_AudioEndpoint_JackSubType already defined in gstwasapi.c.obj gstwasapisrc.c.obj : error LNK2005: _PKEY_AudioEngine_DeviceFormat already defined in gstwasapi.c.obj gstwasapisrc.c.obj : error LNK2005: _PKEY_AudioEngine_OEMFormat already defined in gstwasapi.c.obj gstwasapisink.c.obj : error LNK2005: _PKEY_AudioEndpoint_FormFactor already defined in gstwasapi.c.obj gstwasapisink.c.obj : error LNK2005: _PKEY_AudioEndpoint_ControlPanelPageProvider already defined in gstwasapi.c.obj gstwasapisink.c.obj : error LNK2005: _PKEY_AudioEndpoint_Association already defined in gstwasapi.c.obj gstwasapisink.c.obj : error LNK2005: _PKEY_AudioEndpoint_PhysicalSpeakers already defined in gstwasapi.c.obj gstwasapisink.c.obj : error LNK2005: _PKEY_AudioEndpoint_GUID already defined in gstwasapi.c.obj gstwasapisink.c.obj : error LNK2005: _PKEY_AudioEndpoint_Disable_SysFx already defined in gstwasapi.c.obj gstwasapisink.c.obj : error LNK2005: _PKEY_AudioEndpoint_FullRangeSpeakers already defined in gstwasapi.c.obj gstwasapisink.c.obj : error LNK2005: _PKEY_AudioEndpoint_Supports_EventDriven_Mode already defined in gstwasapi.c.obj gstwasapisink.c.obj : error LNK2005: _PKEY_AudioEndpoint_JackSubType already defined in gstwasapi.c.obj gstwasapisink.c.obj : error LNK2005: _PKEY_AudioEngine_DeviceFormat already defined in gstwasapi.c.obj gstwasapisink.c.obj : error LNK2005: _PKEY_AudioEngine_OEMFormat already defined in gstwasapi.c.obj gstwasapiutil.c.obj : error LNK2005: _PKEY_AudioEndpoint_FormFactor already defined in gstwasapi.c.obj gstwasapiutil.c.obj : error LNK2005: _PKEY_AudioEndpoint_ControlPanelPageProvider already defined in gstwasapi.c.obj gstwasapiutil.c.obj : error LNK2005: _PKEY_AudioEndpoint_Association already defined in gstwasapi.c.obj gstwasapiutil.c.obj : error LNK2005: _PKEY_AudioEndpoint_PhysicalSpeakers already defined in gstwasapi.c.obj gstwasapiutil.c.obj : error LNK2005: _PKEY_AudioEndpoint_GUID already defined in gstwasapi.c.obj gstwasapiutil.c.obj : error LNK2005: _PKEY_AudioEndpoint_Disable_SysFx already defined in gstwasapi.c.obj gstwasapiutil.c.obj : error LNK2005: _PKEY_AudioEndpoint_FullRangeSpeakers already defined in gstwasapi.c.obj gstwasapiutil.c.obj : error LNK2005: _PKEY_AudioEndpoint_Supports_EventDriven_Mode already defined in gstwasapi.c.obj gstwasapiutil.c.obj : error LNK2005: _PKEY_AudioEndpoint_JackSubType already defined in gstwasapi.c.obj gstwasapiutil.c.obj : error LNK2005: _PKEY_AudioEngine_DeviceFormat already defined in gstwasapi.c.obj gstwasapiutil.c.obj : error LNK2005: _PKEY_AudioEngine_OEMFormat already defined in gstwasapi.c.obj gstwasapidevice.c.obj : error LNK2005: _PKEY_AudioEndpoint_FormFactor already defined in gstwasapi.c.obj gstwasapidevice.c.obj : error LNK2005: _PKEY_AudioEndpoint_ControlPanelPageProvider already defined in gstwasapi.c.obj gstwasapidevice.c.obj : error LNK2005: _PKEY_AudioEndpoint_Association already defined in gstwasapi.c.obj gstwasapidevice.c.obj : error LNK2005: _PKEY_AudioEndpoint_PhysicalSpeakers already defined in gstwasapi.c.obj gstwasapidevice.c.obj : error LNK2005: _PKEY_AudioEndpoint_GUID already defined in gstwasapi.c.obj gstwasapidevice.c.obj : error LNK2005: _PKEY_AudioEndpoint_Disable_SysFx already defined in gstwasapi.c.obj gstwasapidevice.c.obj : error LNK2005: _PKEY_AudioEndpoint_FullRangeSpeakers already defined in gstwasapi.c.obj gstwasapidevice.c.obj : error LNK2005: _PKEY_AudioEndpoint_Supports_EventDriven_Mode already defined in gstwasapi.c.obj gstwasapidevice.c.obj : error LNK2005: _PKEY_AudioEndpoint_JackSubType already defined in gstwasapi.c.obj gstwasapidevice.c.obj : error LNK2005: _PKEY_AudioEngine_DeviceFormat already defined in gstwasapi.c.obj gstwasapidevice.c.obj : error LNK2005: _PKEY_AudioEngine_OEMFormat already defined in gstwasapi.c.obj Creating library subprojects\\gst-plugins-bad\\sys\\wasapi\\gstwasapi.lib and object subprojects\\gst-plugins-bad\\sys\\wasapi\\gstwasapi.exp subprojects/gst-plugins-bad/sys/wasapi/gstwasapi.dll : fatal error LNK1169: one or more multiply defined symbols found [8/130] Linking target subprojects/gst-plugins-bad/sys/winks/gstwinks.dll. Creating library subprojects\\gst-plugins-bad\\sys\\winks\\gstwinks.lib and object subprojects\\gst-plugins-bad\\sys\\winks\\gstwinks.exp [10/130] Compiling C object subprojects/gst-plugins-bad/ext/gl/subprojects@gst-plugins-bad@ext@gl@@gstopenglmixers@sha/gstglvideomixer.c.obj. ninja: build stopped: subcommand failed. --- This error is confusing to me because I have no idea where those symbols are coming from. Probably a header? But we guard all our header includes.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/764.