Compiling SDL 1.2.8 with the free Borland compiler

When compiling SDL 1.2.8 with the free Borland compiler, I received this
error (there is a similar error that occurs in
Error E2342 …\src\video\windib\sdl_dibevents.c 189: Type mismatch in
parameter ‘lpPrevWndFunc’ (wanted ‘int (__stdcall *)()’, got ‘long
(__stdcall *)(void *,unsigned int,unsigned int,long)’) in function

I checked the MSDN library at:

and it had this to say:
If STRICT is not defined, the lpPrevWndFunc parameter has the data type
FARPROC. The FARPROC type is declared as follows:


In C, the FARPROC declaration indicates a callback function that has an
unspecified parameter list. In C++, however, the empty parameter list in
the declaration indicates that a function has no parameters. This subtle
distinction can break careless code. Following is one way to handle this

#ifdef STRICT
WNDPROC MyWindowProcedure
FARPROC MyWindowProcedure

lResult = CallWindowProc(MyWindowProcedure, …)