@evildictaitor: Minor correction: DLLs are loaded at startup time. The only delay-loaded DLLs are those that you explicitly mark as delay-loaded.

And yeah, if you don't have the lib, you must use LoadLibrary/GetProcAddress. The linker needs the lib to know how to resolve a call into an exported function otherwise.