Hi,
I have been using msvcmaker to generate project files to build the various wine test programs with VC9 and have since started to look at getting code dlls to work.
I have successfully built cabinet.dll locally on VC9, doing the following:
1. add the following to dlls/cabinet/Makefile.in: EXTRADEFS = -DCOM_NO_WINDOWS_H this is needed to prevent the __WINESRC__ including windows.h error (but not in all cases).
2. run tools/winapi/msvcmaker to generate the dsw/dsp project files.
3. import those files into VC9 and let VC9 convert them.
4. change interlocked_xchg_add to InterlockedExchangeAdd in libs/wine/debug.c.
5. in the include project, set the option not to compile mlang.idl, amvideo.idl and activdbg.idl - these still have problems building with the VC9 midl tool.
6. in the include project, set it to be a Utility project; this is because as a library the dependent projects try to pull in include.lib which does not exist.
7. build the cabinet project and its dependencies.
Some projects (e.g. comctl32, shell32 and shlwapi) produce a ^.lib dependency, which prevents them being loaded by the VC9 IDE when opening the converted solution files.
The test projects don't seem to be handling rc (needed by the user32 tests, for example) and idl (needed by the oleaut32 tests, for example) targets correctly, but the projects for the wine dlls generate these correctly.
- Reece