It is possible to use mix DLLs and EXEs built with different compilers, or even written in different languages, as long as some basic guidelines are followed. For an existing DLL, two issues need to be considered:
Was the DLL compiled with Cygwin? (If so, you may be out of luck if you want to use an EXE built with anything else.)
Which language was used to write the DLL? (It makes a considerable difference if C is used rather than C++.)
so can we use any DLL regardless of the language it's written in?