nim-lang / Sdl2
Programming Languages
SDL2 for Nim
This package contains the bindings for SDL2 to Nim.
Pre-requisites
You must install the SDL2 C libraries before these Nim bindings can be used.
macOS with Homebrew
If you don't already have Homebrew installed, install it from the Homebrew site.
Install the SDL2 C libraries:
brew install sdl2{,_gfx,_image,_mixer,_net,_ttf}
Linux
Install SDL2 development libraries using your distribution's packaging tool of choice.
Windows
Using SDL2 with mingw-w64 environment
- Install mingw-w64-builds. Check that
x86_64-w64-mingw32\bin\
from the installed mingw toolchain is in yourPATH
variable. - Download SDL2 Development Libraries for MinGW
- Extract contents of the downoaded archive to your mingw-w64 folder (for example,
SDL2-2.0.12\x86_64-w64-mingw32\
tomingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-mingw32\
)
Static linking SDL2
Pass the following options to nim on compilation:
--dynlibOverride:libSDL2 --passL:"-static -lmingw32 -lSDL2main -lSDL2 -mwindows -Wl,--no-undefined -Wl,--dynamicbase -Wl,--nxcompat -Wl,--high-entropy-va -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lsetupapi -lversion -luuid"
Options for the linker (--passL:
) except -static
are taken from sdl2-config.cmake
which is included in SDL2 Development Libraries.
Installation
Add requires "sdl2"
to your .nimble
file.
You can also install manually with nimble install sdl2
if your project does not yet have a nimble package file.
For more information on using nimble, consult the nim documentation.
Documentation
For documentation about SDL2 see wiki.libsdl.org.