Experience with msvcmaker and building wine core and test dlls with VC9

Reece Dunn msclrhd at googlemail.com
Fri Oct 24 02:30:55 CDT 2008


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



More information about the wine-devel mailing list