The problem was that there was a precompiled library trying to find these symbols in a 64-bit library. But the precompiled library was expecting 32-bit symbols because the name mangling is different. The problem was gone when I linked against 32-bit libraries, even if my system is 64 bits.
Windows 8: Desperate on how to link dsound
Question
I have a project in which I need to link some DirectX libraries in windows 8. I cannot figure out where to find these symbols, if it's because of a mismatch between versions/runtimes or whatever somewhere or what the hell could be happening.
So I link with these libraries, under windows 8.1 (with cmake):
set(MY_LIBS
general dsound
general d3d9
general dxerr
general strmiids
general comctl32
general winmm
general pdh
general ComDlg32
general Gdi32
general User32
general Ole32
general oleaut32
general Msimg32
general opengl32
general glu32
general PowrProf
general strmbase)
As you can see I also include strmbase, which is the sample compiled for base classes from the windows sdk, that I compiled myself. But I still have these unresolved references:
error LNK2019: unresolved external symbol _DirectSoundCaptureEnumerateW@8 referenced in...
error LNK2019: unresolved external symbol _GetDeviceID@8 referenced in...
error LNK2001: unresolved external symbol _GetDeviceID@8
error LNK2019: unresolved external symbol _DirectSoundEnumerateW@8 referenced in...
LNK2019: unresolved external symbol _DirectSoundCaptureCreate8@12 referenced in function...
error LNK2019: unresolved external symbol _DirectSoundCreate@12 referenced in function...
Does anyone have any idea where to find these symbols and/or what to do to get it compiling.
Solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow