It seems that in C++ you always need a .lib
This file is needed only for Visual C++ and Borland C++ as I remember. GCC can use dll without it(but maybe I'm wrong and there was somewhere *.a file around my dll, which I linked with project long time ago ). So the only way is using LoadLibrary and getting addresses of functions directly.