Now that we’ve got the libraries installed we’ll want to create a new project to include and link against SDL. At the end we’ll save this as a template project so in the future we can just load our template and get to work. First we need a new empty C++ project.
We’ll need to add the SDL include directory so that the compiler can find the SDL headers. Since we also want these configurations to be the same for Debug and Release modes, be sure to select All Configurations on the Configuration menu. To set the path open up the project properties window and open the C/C++ section. In the General page you’ll find an entry titled Additional Include Directories, click this box and open the edit panel through the down arrow at the right side of the box.
Add a new folder to this window and navigate to your SDL include directory. If you put
your SDL development files under
C:\ your include directories panel will look like this
after you’ve selected the include directory correctly.
To add the library paths and the linker dependencies head to the Linker settings section
and open the General page. To add the library path select Additional Library Directories
and add the lib path, selecting either the 32bit (x86) or 64bit (x64) version of the library.
I’ve chosen to use the 32bit version for this tutorial series. After setting the
path your entry should look like this if SDL is under
C:\ and you chose the 32bit libraries.
Now we’ll add the libraries themselves as dependencies. Switch to the Input page and open
the Additional Dependencies entry’s edit panel and add
Once you’ve done this your Input page should look like so:
The final step is to select the SubSystem target. To do this open up the System page and choose either Console or Windows from the drop down. If you choose Windows you won’t get a console window that opens up with stdout, if you choose Console you will. Since I’ll be writing debug messages and error information to stdout for quicker/lazier feedback in these tutorials I’ve selected Console. If you have some other file logging you want to use and don’t want a console to open up you should pick Windows. When distributing your applications be sure to select Windows so your users don’t have a console window pop up on them!
The program we’re building for this lesson is a simple sanity check for SDL. It will
initialize the SDL video subsystem, check for any
errors and then quit.
Before we can run this program we’ll need to copy the
SDL binary into our executable’s directory.
SDL2.dll can be found in the lib directory
of your SDL folder under lib/(x86/x64), use the one for the architecture you linked against.
The program should run successfully but nothing should appear to happen if you’ve configured everything properly. If an error occurs make sure you’ve followed all the steps properly.
To avoid having to go through this setup every time we want to make an SDL project we can save this one as a template and then simply select it from the new project menu. To do this select Export Template from the File menu and configure the template as desired. Once you’ve done this the project template will be available under the Visual C++ project selection page.
If you’re having any trouble setting up SDL please send an email or tweet.
I’ll see you again soon in Postscript 0: Properly Finding Resource Paths!