Hello I happened to find wine when researching some undocumented stuff in shell32.dll for my own shell extensions I had written. It was interesting to see how things may be done in windows. I also identified some parts in the wine shell32 which need more attention and plan to submit some patches concerning that after I have familiarized myself a little more with wine. Since I had no Linux system at my hands I tried to use the Visual C 5 compiler on my windows system to compile the shell32 dll and found some problems with that. Separate from some wine specific project definitions which need to be made for Visual C to process the wine headers Iand which I probably haven't done all properly) there was one problem with function pointer definitions. All wine headers seem to declare function pointers like <return value> WINAPI (*<function pointer name)(<parameter list>) Visual C 5 does not like the WINAPI (eg __stdcall) outside of the brackets and requires: <return value> (WINAPI *<function pointer name>)(<parameter list>) I could also not find any comprehensible ANSI C description which would care to explain what would be the correct way of function pointer declarations with a calling convention identifier. I tried to figure out how this could be solved. Declaring WINAPI to be empty and telling Visual C to use __stdcall as default gives other problems with internal wine functions without explicit calling convention declaration and with a variable argument list, which requires __cdecl. The only way I could find was to adjust the function pointer definitions in the affected headers. Of course this goes quite far and might cause problems with other compilers. As I will soon have a new development machine on which I will install Linux alongside of Windows I can fairly easily check if this would cause problems with gcc, but wine seems to care for more compilers than that and I have no idea if such a change would cause problems (it probably would anyhow :-| ). Maybe there is someone on this list which can give me an direct answer to this. Rolf Kalbermatter
--- Rolf Kalbermatter <rolf.kalbermatter(a)citeng.com> wrote:
I tried to use the Visual C 5 compiler on my windows system to compile the shell32 dll and found some problems with that.
There is gcc compiler for Windows (see Cygwin and MinGW projects). I myself use Cygwin to compile Wine tests on Windows. However, never tried to compile parts of Wine. Andriy Palamarchuk __________________________________________________ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com
participants (2)
-
Andriy Palamarchuk -
Rolf Kalbermatter