About openal32, yes, I should need this, I left it out by accident (same goes to libsndfile actually, I only realized this when I tried to test it just now), but for openal32, there's a possibility that it is in a directory in PATH, but it shouldn't be the case for libfluidsynth, since I'm quite positive that I do not have it in any PATH directory, and my sister wouldn't even have such dll on her computer.
I link to SFML dynamically.
Edit:
Ah, I know what's going on now, there's a flaw in my test program, probably due to compiler optimization or so. If I put if (false), the compiler probably removed all the code under it, since I would never reach there, however, if I put if (static_cast<unsigned int>(time(NULL)) < 1000), which would almost always be false, obviously, but since there is a possibility that it may be true, so the compiler does not remove the code under it, and I get the missing dll error. I can also avoid the compiler optimization by compiling under debug, or just disable it, so it's my mistake that I did not tried testing under debug.
As for openal32.dll and libsndfile-1.dll, I found that they're in my PATH variable, under MinGW. That explains why.
Anyway, thanks for clearing this up for me, seems like we have to be careful of compiler optimization.
Now time to add the 2 missing dlls into the example files. >.<
On the other hand, have you thought of integrating sfMod? It relies on libmodplug, but libmodplug is under public domain, and I have it statically linked (no, actually I just added the source files into the sfMod project). It would be great if SFML supports module files natively. Also sfMod is a cleaner piece of code than sfMidi, without all the workarounds since everything I need is available in libmodplug.