Howto: build SDL on WinXP

I had some trouble with that so here are my experiences.

* Create a file named SDL_revision.h with content #define SDL_REVISION 0
* Install the DirectX SDK
* add the DirectX-SDK dir in Project->Properties->Configuration

Properties->C/C+±>General->Additional Include Directories
* for the new project:
- add the SDL/include dir in the same place
- in Project->Properties->Configuration
Properties->C/C+±>Linker->Input->Additional dependencies add:
yourSDLdir\VisualC\SDL\Debug\SDL.lib
yourSDLdir\VisualC\SDLmain\Debug\SDLmain.lib
- remove any old SDL dlls from c:\windows\system32
- add yourSDLdir\VisualC\SDL\Debug\ and
yourSDL_ttfdir\VisualC\Debug\ to the PATH env var
- make sure you #include “stdafx.h”
- make sure main() takes both its arguments, and explicitly
returns 0. (because SDL fakes main() with a macro)
- compile latest freetype, dont use the outdated GnuWin32 binaries.

Maybe this helps someone ":slight_smile:

Hi Stefan,

thanks for your contribution.

Maybe you could check if the “Compiling for Windows” section misses some of
your steps and update it
accordingly?

http://www.libsdl.org/cgi/docwiki.cgi/FAQ_Frequently_Asked_Questions--
Paulo

On Wed, May 13, 2009 at 9:56 AM, Stefan Monov wrote:

I had some trouble with that so here are my experiences.

  • Create a file named SDL_revision.h with content #define SDL_REVISION 0
  • Install the DirectX SDK
  • add the DirectX-SDK dir in Project->Properties->Configuration
    Properties->C/C+±>General->Additional Include Directories
  • for the new project:
    - add the SDL/include dir in the same place
    - in Project->Properties->Configuration
    Properties->C/C+±>Linker->Input->Additional dependencies add:
    yourSDLdir\VisualC\SDL\Debug\SDL.lib
    yourSDLdir\VisualC\SDLmain\Debug\SDLmain.lib
    - remove any old SDL dlls from c:\windows\system32
    - add yourSDLdir\VisualC\SDL\Debug\ and
    yourSDL_ttfdir\VisualC\Debug\ to the PATH env var
    - make sure you #include “stdafx.h”
    - make sure main() takes both its arguments, and explicitly
    returns 0. (because SDL fakes main() with a macro)
    - compile latest freetype, dont use the outdated GnuWin32
    binaries.

Maybe this helps someone ":slight_smile:


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org