wow, I got a novel after all! Thanks for the helpful info.
On Thursday 12 December 2002 07:38 pm, Alexandre Julliard wrote:
The main drawback is of course that it's easy for the dll and its import library to get out of sync and then you are in trouble, because the functions that you found at link time in the import lib do not exist at load time in the actual dll. The Unix way of having a single library is much cleaner, but of course we don't expect Microsoft to do things the clean way <g>
perhaps not... but now I understand how somebody can link a win32 app and run it on all the pseudo-incompatible windows platforms.
The actual implementation is a bit different between Windows and Wine: under Windows the import library has to be in the standard library file format that the linker understands (xxx.lib, or libxxx.a for gcc), and it is generated from the dll .def file. Under Wine we don't need a real library since everything is done inside winebuild without involving the Unix linker, so we use the .def file directly and skip the intermediate step of building a library object file.
Hope this helps...
Indeed it has, thanks. I'll definitely check out some of the source for this -- in particular, the parts that got patched recently, if only to skim and get the overall process memorized, so I don't feel like I'm breaking things everytime I touch the makefiles (and, of course, I will look into those .lib file's, which I've been ignoring for as long as I can remember ;) )