Building tests with Visual Studio 2005 Express

Dan Kegel dank at
Tue Feb 5 19:50:13 CST 2008

After giving up for the moment on building with Visual C 6,
I tried Visual Studio 2005.

First hitch:
Boy, does it spew out lots of warnings about deprecated functions!
talks about this a bit; defining _CRT_SECURE_NO_DEPRECATE
and _CRT_NONSTDC_NO_DEPRECATE suppresses the warnings.
You can't set them via corewin_express.vsprops because our project is
converted from an
older visual studio version, so you have to add those two defines to
all the .dsp files, e.g.
  perl -p -i -e 's,/D "WIN32",/D "WIN32" /D
-iname '*.dsp'`

Second hitch:
For some reason, the imported projects lose their list of .lib files to link
As suggested at
add user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
shell32.lib ole32.lib oleaut32.lib uuid.lib
to the "Additional Dependencies" setting in the file corewin_express.vsprops.

Third hitch:
error C2065: 'PFORM_INFO_2A': undeclared identifier
winspool.h only defines the new symbol if NTDDI_VERSION is NTDDI_LONGHORN
or higher.  NTDDI_LONGHORN is 0x06000000.
add /D _WIN32_WINNT=0x0600 to that list of changes to all the .dsp
files in hitch #1 above.

Fourth hitch:
urlmon_test.exe refers to CLSID_IdentityUnmarshal, but that symbol is
not defined.

Fifth hitch:
generated.c refers to CS_STUB_INFO, which is not defined in
Microsoft's rpcndr.h.

Sixth hitch:
it can't find server.h
Seventh hitch:
can't find tmarshal.h
Not sure, but maybe these files need to be generated by midl, and msvcmaker
doesn't know about that yet?  See

Eighth hitch:
riched20/tests/editor.c fails to compile because in GETTEXTEX, the
field is named lpUsedDefChar, not lpUsedDefaultChar
fix our richedit.h?


Seventy-seventh hitch:
gdiplus/tests/brush.c includes Microsoft's gdiplus.h, but that's not
safe to include from C, so you get an error on the namespace.

Golly.  I guess I won't be building the tests with any flavor of
microsoft C any time soon!
- Dan

More information about the wine-devel mailing list