Does it matter that the dll is exporting C++ classes, not straight C functions?
That could make things slightly more complicated, since MS and gcc use different name mangling systems. if you declare functions with extern "C" linkage you should be OK. However there are differences in how gcc and MS call methods on objects (and in the vtable layout etc), so in general its not advised to mix win32 c++ dlls with a winelib exe and vice versa (i.e you should implement mydll.dll as a real wine dll rather than as just a stub for linking).
Actually, it's a win32 c++ app with lots of win32 c++ dlls and one winelib c++ dll. The winelib dll depends on two other win32 c++ dlls, which the app also depends on. I'm trying to avoid turning those other dlls into winelib dlls, since one of them uses ATL. Am I trying to do something that can't really be done? Is it possible to make the stub dll that winelib generates forward calls to the win32 dll (ie, give it both the gcc mangled name and the msvc mangled name)?
-Steve