Post by Ross BencinaAh ok, so it's just a ksmedia.h dependency.
In that case I would expect including mmsystem.h or mmreg.h before
ksmedia.h would resolve the problem.
Does that work for you?
Yes, it will fix undeclared identifier errors but also introduces other
errors:
1>Compiling...
1>pa_win_wdmks.c
1>..\..\src\hostapi\wdmks\pa_win_wdmks.c(136) : warning C4005:
'_INC_MMREG' : macro redefinition
1> C:\msvs\Microsoft SDKs\Windows\v7.0\Include\mmreg.h(30) : see
previous definition of '_INC_MMREG'
1>..\..\src\hostapi\wdmks\pa_win_wdmks.c(141) : warning C4005:
'DEFINE_GUIDEX' : macro redefinition
1> C:\msvs\Microsoft SDKs\Windows\v7.0\Include\mmreg.h(2321) :
see previous definition of 'DEFINE_GUIDEX
commented out whole #ifdef _MSC_VER block and moved DEFINE_GUIDEX
outside of comments, linker errors this time:
1> Creating library Win32\Release\portaudio_x86.lib and object
Win32\Release\portaudio_x86.exp
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX referenced in function _PinNew
1>pa_win_wdmks_utils.obj : error LNK2001: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSPROPSETID_Pin referenced in function _PinNew
1>pa_win_wdmks_utils.obj : error LNK2001: unresolved external symbol
_KSPROPSETID_Pin
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSDATAFORMAT_SPECIFIER_WAVEFORMATEX referenced in function _PinNew
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_PCM referenced in function _PinNew
1>pa_win_wdmks_utils.obj : error LNK2001: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_PCM
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSDATAFORMAT_TYPE_AUDIO referenced in function _PinNew
1>pa_win_wdmks_utils.obj : error LNK2001: unresolved external symbol
_KSDATAFORMAT_TYPE_AUDIO
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSMEDIUMSETID_Standard referenced in function _PinNew
1>pa_win_wdmks_utils.obj : error LNK2001: unresolved external symbol
_KSMEDIUMSETID_Standard
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSINTERFACESETID_Standard referenced in function _PinNew
1>pa_win_wdmks_utils.obj : error LNK2001: unresolved external symbol
_KSINTERFACESETID_Standard
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSPROPSETID_Connection referenced in function _PinSetState
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT referenced in function _FillWFEXT
1>pa_win_wdmks_utils.obj : error LNK2001: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSCATEGORY_CAPTURE referenced in function _BuildFilterList
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSCATEGORY_RENDER referenced in function _BuildFilterList
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSCATEGORY_AUDIO referenced in function _BuildFilterList
1>Win32\Release\portaudio_x86.dll : fatal error LNK1120: 12 unresolved
externals
Only commented out #define _INC_MMREG:
1> Creating library Win32\Release\portaudio_x86.lib and object
Win32\Release\portaudio_x86.exp
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX referenced in function _PinNew
1>pa_win_wdmks_utils.obj : error LNK2001: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_PCM referenced in function _PinNew
1>pa_win_wdmks_utils.obj : error LNK2001: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_PCM
1>pa_win_wdmks.obj : error LNK2019: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT referenced in function _FillWFEXT
1>pa_win_wdmks_utils.obj : error LNK2001: unresolved external symbol
_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
1>Win32\Release\portaudio_x86.dll : fatal error LNK1120: 3 unresolved
externals
I am not familiar with ksmedia stuff -> lost interest quickly after this :)