While getting ready for cs130 (thanks to Lei and James for all the help),
I tried building and running comctl32/tests/updown.c standalone on
winxp using Visual C++ Express 2005 (the freely downloadable one)
and the Platform SDK (also freely downloadable, needed for e.g. user32.lib and
.h files).

First I tried building it by starting cmd with the visual studio environment
vars defined (using the handy Start/Programs/Visual C++/Visual Studio
Tools/Visual Studio Command Prompt start menu entry installed by
visual C++):
 cl -DSTANDALONE -D_X86_ -I../../../include updown.c user32.lib
gdi32.lib comctl32.lib
This failed to compile, complaining about redefinitions in rpc.h.

I worked around that as suggested by Lei Zhang by avoiding letting cl see
any of the Wine headers but wine/test.h, by doing
mkdir wine
copy ..\..\..\include\wine\test.h wine
 cl -DSTANDALONE -D_X86_  updown.c user32.lib gdi32.lib comctl32.lib
This failed to compile, complaining about WM_QUERYVISTATE being undefined.

I worked around that as suggested by Lei Zhang by defining _WIN32_WINNT to
the right value:
 cl -DSTANDALONE -D_X86_  -D_WIN32_WINNT=0x502 updown.c user32.lib
gdi32.lib comctl32.lib

That failed to link, complaining it couldn't find user32.lib.

I worked around that by doing
 echo setenv LIB=%LIB% > setenv.bat
editing that batch file to append
 ;C:\Program Files\Microsoft Platform SDK\Lib
and running it.

That worked (whew), but running the test found two failures:

updown.c:509: Test failed: create parent window: the msg 0x0281 was
expected, but got msg 0x0007 instead
updown.c:522: Test failed: add updown control with edit: in msg 0x0005
expecting lParam 0x4b005b got 0x440065
updown: 133 tests executed (0 marked as todo, 2 failures), 0 skipped.

I guess it needs a bit of tweaking.  The system I tested it on is
running Win XP Professional Version 2002 Service Pack 2.
- Dan


Reply via email to