I hate Microsoft so much sometimes...
They literally made it IMPOSSIBLE to use .dll files compiled with Visual Studio with other compilers. How? Because those DLLs need a manifest that VS adds to a program during compiling. If you try to use a DLL when your app doesn’t have a Manifest, you are greeted with Error R6034.
I found that a manifest can be added post-linking with a tool from Microsoft (it’s in that link). I injected Winamp’s own manifest into my app and tried to use the MP3 input plugin again… Program just crashes, doesn’t even say why, just PURE crash. Not even the Winamp.dll error code is printed out into stdout.txt, NOR THE TEXT OUTPUT FILES ARE BEING CLEANED (which SDL always does if they are empty).