Vitus
Resource contributor
- Messages
- 1,480
- Country
Good day friends,
So there I was, working away on my sound engine, innocently unaware of the pitfalls of Microsoft SDKs and the big wake of misery caused by inconsiderate and complicated compatibility matters. Now I joined the aforementioned tide of misery and broken dreams - those dreams of quick solutions and never-ending self-praise of the god-like manifestations of un-crashable and sorrow-free programming code.
But enough of the poetry, let's get to business
I am trying to implement a new sound engine into my DLL file and chose Microsoft's XAudio2 for it. If you're not aware of it, XAudio2 is the successor of directSound, which is obsolete for a number of years now. Just like everything else that was formerly packed into the directX redistributable kits, XAudio2 is now a fixed component of the Windows SDK and all necessary system-dlls come pre-installed on any modern Windows platform. However there's a little problem: Since Windows 8, XAudio2 is in version 2.8, which is unavailable to Windows 7 operating systems. So in order to be backwards-compatible I still had to use the dreadful directX SDK, which allowed me to utilize xaudio2, version 2.7. That's all good, with the help of Doug Dawson (thank you so much again!) I got it to compile using the proper library files, hence linking to the correct DLL file.
Next step is to try this wondrous piece of software on my target Windows 7 machine - aaaaaaand: no joy, the DLL won't be loaded by the sim. Doug recommended to check the compiler to make sure that it's set to "Release", which I did check and double check, no luck. So the next logical step was to run the file through "Dependency Walker" and here's the result:
Easy-peasy, looks as if the VSC++runtime files are missing right? Wrong. I actually uninstalled ALL VS runtime files and installed the latest version again:
The system files for xAudio2 should be in the 2005 redistributable pack and as you can see, that one is installed.
Soooooooo..... any ideas why this DLL can't access those runtime DLLs?
Thanks for your attention!
So there I was, working away on my sound engine, innocently unaware of the pitfalls of Microsoft SDKs and the big wake of misery caused by inconsiderate and complicated compatibility matters. Now I joined the aforementioned tide of misery and broken dreams - those dreams of quick solutions and never-ending self-praise of the god-like manifestations of un-crashable and sorrow-free programming code.
But enough of the poetry, let's get to business
I am trying to implement a new sound engine into my DLL file and chose Microsoft's XAudio2 for it. If you're not aware of it, XAudio2 is the successor of directSound, which is obsolete for a number of years now. Just like everything else that was formerly packed into the directX redistributable kits, XAudio2 is now a fixed component of the Windows SDK and all necessary system-dlls come pre-installed on any modern Windows platform. However there's a little problem: Since Windows 8, XAudio2 is in version 2.8, which is unavailable to Windows 7 operating systems. So in order to be backwards-compatible I still had to use the dreadful directX SDK, which allowed me to utilize xaudio2, version 2.7. That's all good, with the help of Doug Dawson (thank you so much again!) I got it to compile using the proper library files, hence linking to the correct DLL file.
Next step is to try this wondrous piece of software on my target Windows 7 machine - aaaaaaand: no joy, the DLL won't be loaded by the sim. Doug recommended to check the compiler to make sure that it's set to "Release", which I did check and double check, no luck. So the next logical step was to run the file through "Dependency Walker" and here's the result:
Easy-peasy, looks as if the VSC++runtime files are missing right? Wrong. I actually uninstalled ALL VS runtime files and installed the latest version again:
The system files for xAudio2 should be in the 2005 redistributable pack and as you can see, that one is installed.
Soooooooo..... any ideas why this DLL can't access those runtime DLLs?
Thanks for your attention!