view Watcom.mif @ 1303:52b5afd7ecee

Date: Tue, 05 Jul 2005 21:43:26 +1000 From: Sean Childs Subject: [SDL] 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 src\video\windx5\sdl_dx5events.c): 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 DIB_HandleMessage I checked the MSDN library at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/ windowsuserinterface/windowing/windowprocedures/windowprocedurereference/wind owprocedurefunctions/callwindowproc.asp 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: int (FAR WINAPI * FARPROC) () 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 situation: #ifdef STRICT WNDPROC MyWindowProcedure #else FARPROC MyWindowProcedure #endif ... lResult = CallWindowProc(MyWindowProcedure, ...)
author Sam Lantinga <slouken@libsdl.org>
date Tue, 31 Jan 2006 15:30:42 +0000
parents 173c063d4f55
children
line wrap: on
line source

#=============================================================================
#             This file contains the common includes for the
#               Watcom makefiles to build SDL.DLL for OS/2
#
#
#=============================================================================

# Create debug build or not?
#debug_build=defined

# Special flags for building SDL
SDLCFlags = -dBUILD_SDL -dCHECK_LEAKS

#
#==============================================================================
#

!ifdef debug_build
debugflags = -d2 -dDEBUG_BUILD
!else
debugflags =
!endif

cflags = -zq $(debugflags) -bd -bm -bt=OS2 -5s -fpi -sg -otexan -wx -ei $(SDLCFlags) $(ExtraCFlags)

.extensions:
.extensions: .lib .dll .obj .c .asm

.c.obj : .AUTODEPEND
    wcc386 $[* $(cflags)

.asm.obj : .AUTODEPEND
    nasm -t -O2 -f obj -I$(%include) $[*.asm