PDF download Download Article PDF download Download Article

Whether you're a novice C++ programmer or a veteran software developer, graphics programming is an educational and rewarding experience. Simple DirectMedia Layer (SDL) is a C++ compatible library that allows simple, low-level access, to the graphics functionality of a variety of platforms. This wikiHow teaches you how to install and set up SDL with Visual Studio 2022. It configures OpenGL. This guide will assume your platform is Windows 10 or 11. It is addressing the beginner, save last 3 Parts. He learns how to set up SDL in project with Visual Studio by 3 ways: 1st targeting x32 platform, 2nd targeting x64 platform, and 3rd set up SDL source compiled by CMake and Visual Studio. By default Visual Studio 2022 is x64 application. However it runs interchangeably x86 (32 bits) and x64 applications.

Part 1
Part 1 of 21:

Configuring Visual Studio

PDF download Download Article
  1. 1
    Highlight what you expect to do. Highlight step or sub-step you expect to do and then do it. See as example picture above.
  2. 2
    Download Visual Studio 2022. If you have not done so you can download it from https://www.visualstudio.com/downloads .
  3. Advertisement
Part 2
Part 2 of 21:

Downloading SDL

PDF download Download Article
  1. 1
    Create folders GL and GLP. Open Windows's File Explorer > Navigate to disk (directory) C.
    • If folders GL and GLP exist it's okay.
    • If they do not, right click in empty area > select New > Folder > type GL > hit Enter . By same way create folder GLP .
  2. 2
    Download the latest version of SDL2 . Right click on the following link and select Open Link in New Window https://www.libsdl.org/
    • In the left column, below Download click SDL Releases > scroll the new page to the bottom > click version (in image above, it's an old version, but it makes no difference) SDL2-devel-2.30.4-VC.zip or latest. The unzipped folder ought to appear in a new File Explorer.
    • Open folder C:\GL .
    • In the new File Explorer click folder SDL2-2.30.4 , (or latest) > click it again and drag into C:\GL.
    • Once copying and pasting of the folder is complete, copy SDLbin > click folder > right click > click Rename (in Windows 11 it is an icon) > paste > hit Enter . Now in folder GL you have folder SDLbin .
    • Close new File Explorer window > close SDL window.
  3. Advertisement


Part 3
Part 3 of 21:

Creating Project Targeting x32 Platform

PDF download Download Article
  1. 1
    Create empty project.
    • If Visual Studio is not open . Open it > click Create a new project .
      • In Create a new project wizard, find (see image above) Empty Project Start from scratch with C++ for Windows. Provides no starting files. (if necessary scroll down the list or type Empty Project in search box above the list and hit Enter ) > click it > click Next .
      • In Configure your new project wizard for "Project name" type (or copy and paste) SDLx32-0
      • Copy C:\GLP and paste in "Location" text field.
      • Check "Place solution and project in the same directory".
      • Click Create .
      • Wait till Visual Studio instance appears.
    • If Visual Studio is open . In main menu click File > New > Project… > the rest as above.
    • In "Solution Explorer" window right click the "Source Files" folder (the last one) > click "Add > "New Item…"
    • In the "Add New Item" wizard delete "FileName" and type Main instead > click Add . The file will open in the main text editor but leave the file blank for now.
  2. Advertisement
Part 4
Part 4 of 21:

Setting Up SDLx32 in Project

PDF download Download Article
  1. In "Solution Explorer" right click on the name of your project, that is SDLx32-0 (in image it is different, it doesn't matter), and select "Properties" (the last entry). In "SDLx32-0 Property Pages" wizard,
  2. 2
    Add dll file path (address) to "System Variables". In Windows search box on the taskbar (bottom left of the screen) type envir > hit Enter . "System Properties" wizard is thrown.
    • If it's not chosen, click the "Advanced" tab in the top bar > click Environment Variables... . "Environment Variables" wizard is thrown.
    • In the "System Variables" section (the second one) double click the "Path" (or "PATH") Variable. "Edit environment variable" wizard is thrown.
    • Copy C:\GL\SDLbin\lib\x86 > click New > Paste.
    • Click OK in all 3 wizards.
    • Close Visual Studio > in thrown wizard "Save changes to the following items?" click Save .
    • Restart your PC > open Visual Studio. If project is open, it's okay. If it's not, in "Open recent" list, click "SDLx32-0.sln" the first one. Now your project is open ready for test.
  3. Advertisement
Part 5
Part 5 of 21:

Testing project and Correcting errors

PDF download Download Article
  1. 1
    Test your project. Copy following code and paste in Main.cpp code area > in main menu select x86 > hit Ctrl + F5 or in Visual Studio's main menu click the green triangle with phrase "Local Windows Debugger". The project was correctly set up if a black window with the message "SDL initialization succeeded!" appears. You are now ready to program with SDL.


 #include 
 <iostream> 
  
 #include 
 <SDL.h> 
  
 using 
 namespace 
 std 
 ; 
 int 
 main 
 ( 
 int 
 argc 
 , 
 char 
 * 
 argv 
 []) 
 { 
 if 
 ( 
 SDL_Init 
 ( 
 SDL_INIT_EVERYTHING 
 ) 
 < 
 0 
 ) 
 { 
 cout 
 << 
 "SDL initialization failed. SDL Error: " 
 << 
 SDL_GetError 
 (); 
 } 
 else 
 { 
 cout 
 << 
 "SDL initialization succeeded!" 
 ; 
 } 
 cin 
 . 
 get 
 (); 
 return 
 0 
 ; 
 } 
  1. 1
    Correct errors. Files are missing. Copy C:\GLP\SDLx32-0 and paste in File Explorer Address Bar. You should see file you added Main.cpp , and 4 other files added by Visual Studio. If they are missing you missed add file Main.cpp . Go to Part 3, step 2, and add it now.
    • In "Error List" if you see error
      • cannot open file SDL.h,
        • Check whether folder SDLbin exists in C:\GL. If it exists
        • go to previous Part, step 1, Configure project's Properties , sub-step 2. Configure "Additional Include Directories" and follow instructions. Also check whether folder SDLbin exists in C:\GL.
      • cannot open file SDL2.lib or SDL2main.lib, go to previous Part, step 1, sub-step 3. Configure "Additional Library Directories" and follow instructions. Also to sub-step 4. Configure "Additional Dependencies" .
    • Thrown wizard about dll file, go to previous Part step 2, and follow instructions
    • For other errors. Check whether you have added source file. If you cannot correct them, close Visual Studio > delete project folder SDLx32-0 which lives in C:\GLP > open Visual Studio > repeat set up from Part 3. Good job.
  2. Advertisement
Part 6
Part 6 of 21:

Creating Project with SDLx32-0 Template

PDF download Download Article
  1. Go to Visual Studio (see below image) and, while "SDLx32-0" is open , click "Project" > "Export Template...".
  2. 2
    Create project. In Visual Studio main menu, click File > New > Project... .
    • In Create a new project wizard select SDLx32-0 (if necessary scroll down the list of templates or type it in search box above the list and hit Enter ) > click Next .
    • In Configure your new project wizard, if "Project name" is SDLx32-01 it's okay. If it's not, copy SDLx32-01 and paste.
    • Location should be C:\GLP, if it's not, copy C:\GLP and paste > Be sure Place solution and project in the same directory is checked > click Create .
    • In Visual Studio's GUI main menu, select x86 > hit Ctrl + F5 or in Visual Studio's main menu click the green triangle with phrase "Local Windows Debugger". The project was correctly set up if a black window with the message "SDL initialization succeeded!" appears. You are now ready to program with SDL.
    • TIP. When you create project with this template remember in Visual Studio main menu select x86 .
  3. Advertisement
Part 7
Part 7 of 21:

Creating project to target x64 platform

PDF download Download Article
  1. 1
    Create folders GL and GLP. Open Windows's File Explorer > Navigate to disk (directory) C:.
    • If folders GL and GLP exist it's okay.
    • If they do not, right click in empty area > select New > Folder > type GL > hit Enter . By same way create folder GLP .
  2. 2
    Download SDL2. If you have not already downloaded it, go to Part 2, step 2, and download it.
  3. 3
    Create empty project.
    • If Visual Studio is not open . Open it > click Create a new project .
      • In Create a new project wizard, find (see image above), Empty Project Start from scratch with C++ for Windows. Provides no starting files. (if necessary scroll down the list or type Empty Project in search box above the list and hit Enter ) > click it > click Next .
      • In Configure your new project wizard for "Project name" type (or copy and paste) SDLx64-0
      • Copy C:\GLP and paste in "Location" text field.
      • Check "Place solution and project in the same directory".
      • Click Create .
      • Wait till Visual Studio instance appears.
    • If Visual Studio is open . In main menu click File > New > Project… > the rest as above.
    • In "Solution Explorer" window right click the "Source Files" folder (the last one) > click "Add > "New Item…"
    • In the "Add New Item" wizard delete "FileName" and type Main instead > click Add . The file will open in the main text editor but leave the file blank for now.
  4. Advertisement
Part 8
Part 8 of 21:

Installing SDLx64-0 in the Project

PDF download Download Article
  1. Go to "Solution Explorer" > right click on the name of your project SDLx64-0 > select "Properties" (the last entry). In SDLx64-0 Property Pages wizard,
  2. 2
    Add dll file path (address) to "System Variables". In Windows search box on the taskbar (bottom left of the screen) type envir > hit Enter . "System Properties" wizard is thrown.
    • If it's not chosen, click the "Advanced" tab in the top bar > click Environment Variables... . "Environment Variables" wizard is thrown.
    • In the "System Variables" section (the second one) double click the "Path" (or "PATH") Variable. "Edit environement variable" wizard is thrown.
    • Copy C:\GL\SDLbin\lib\x64 > click New > Paste.
    • Click OK in all 3 wizards.
    • Close Visual Studio > in thrown wizard "Save changes to the following items?" click Save .
    • Restart your PC > open Visual Studio. It's okay if the folder "SDLx64-0.sln" opens. If not, select the first file, "SDLx64-0.sln", from the "Open recent" list. Your project is now available for testing.
  3. Advertisement
Part 9
Part 9 of 21:

Testing SDLx64-0 project and Correcting errors

PDF download Download Article
  1. 1
    Test your project. Copy following code and paste in Main.cpp code area > in main menu select x64 > hit Ctrl + F5 or in Visual Studio's main menu click the green triangle with phrase "Local Windows Debugger". The project was correctly set up if a black window with the message "SDL initialization succeeded!" appears. You can now use SDL to program.
 #include 
 <iostream> 
  
 #include 
 <SDL.h> 
  
 using 
 namespace 
 std 
 ; 
 int 
 main 
 ( 
 int 
 argc 
 , 
 char 
 * 
 argv 
 []) 
 { 
 if 
 ( 
 SDL_Init 
 ( 
 SDL_INIT_EVERYTHING 
 ) 
 < 
 0 
 ) 
 { 
 cout 
 << 
 "SDL initialization failed. SDL Error: " 
 << 
 SDL_GetError 
 (); 
 } 
 else 
 { 
 cout 
 << 
 "SDL initialization succeeded!" 
 ; 
 } 
 cin 
 . 
 get 
 (); 
 return 
 0 
 ; 
 } 
  1. 1
    Correct errors. Files are missing. Copy C:\GLP\SDLx64-0 and paste in File Explorer Address Bar. You should see file you added Main.cpp , and 4 other files added by Visual Studio. If they are missing you missed add file Main.cpp . Go to Part 7, step 4, and add it now.
    • In "Error List" if you see error
      • cannot open file SDL.h,
        • Check whether folder SDLbin exists in C:\GL. If it exists
        • go to previous Part, step 1, sub-step 2 Additional Include Directories , and follow instructions.
      • cannot open file SDL2.lib or SDL2main.lib, go to previous Part, step 1, sub-step 3 Additional Library Directories and follow instructions. Also to sub-step 4 Configure Additional Dependencies .
    • Thrown wizard about dll file, go to previous Part step 2, and follow instructions
    • For other errors. If you can't correct them, close Visual Studio > delete project folder SDLx64-0 which lives in C:\GLP > open Visual Studio > repeat set up from Part 7. Good job.
    • TIP: Even if in Property Pages main settings it is Platform: x64 , click Configuration manager... and in Active solution platform: select x64.
  2. Advertisement
Part 10
Part 10 of 21:

Creating Project with "SDLx64-0" Template

PDF download Download Article
  1. Go to Visual Studio (see below image) and, while "SDLx64-0" is open , click "Project" > "Export Template...". On "Export template Wizard" check "Project Template", if it's not checked. Click Next > .
  2. 2
    Create project. In Visual Studio main menu, click File > New > Project... .
    • In Create a new project wizard in the list of templates select SDLx64-0 (if necessary scroll down the list or type it in search box above the list and hit Enter ) > click Next .
    • In Configure your new project wizard, if "Project name" is SDLx64-01 it's okay. If it's not copy SDLx64-01 and paste. Location should be C:\GLP. If it's not, copy C:\GLP and paste.
    • Be sure Place solution and project in the same directory is checked > click Create .
    • In Visual Studio GUI's main menu, select x64 . Hit Ctrl + F5 or in Visual Studio's main menu click the green triangle with phrase "Local Windows Debugger".
    • TIP: Remember in every project you create with this template, select x64 (next to Debug) in Visual Studio's GUI.
  3. Advertisement
Part 11
Part 11 of 21:

Installing Cmake

PDF download Download Article
  1. 1
    Compiling a library from the source code guarantees that the resulting library is perfectly tailored for your CPU/OS, a luxury pre-compiled binaries don't always provide. It is also important that binaries you get target x64 platform.
  2. 2
    Create folders GL and GLP. Open Windows's File Explorer > Navigate to disk (directory) C.
    • If folders GL and GLP exist it's okay.
    • If they do not, right click in empty area > select New > Folder > type GL > hit Enter . By same way create folder GLP .
  3. 3
    Download CMake. Right-click on following address and select Open Link in new File Explorer window https://cmake.org/download/ .
  4. 4
    Copy and paste the unzip folder.
    • Open folder C:\GL
    • In the new File Explorer click unzip folder cmake-3.29.6-windows-x86_64 > click it again and drag into C:\GL.
    • Once the folder has completed copying and pasting, copy CMake > click folder > right click > click "Rename" (in Windows 11 it is an icon) > Paste > hit Enter .
    • Close the new File Explorer > close the "CMake" window.
    • Double click folder "CMake" > double click folder bin > inside you should see CMake's logo next to file name cmake-gui > double click this file. Now on your screen you have CMake GUI > go back to GL folder.
    • Each time you need CMake, navigate to C:\ > GL > double click folder CMake > double click "bin" > double click file cmake-gui (the one with CMake's logo).
  5. Advertisement
Part 12
Part 12 of 21:

Compiling Source Code with CMake and Visual Studio

PDF download Download Article
  1. 1
    Download the latest version of SDL2 . Right click on the following link and select Open Link in New Window https://www.libsdl.org/
    • In the left column, below Download click SDL Releases > scroll the new page to the bottom > click version (see image above) Source code (zip) . The unzipped folder ought to appear in a new File Explorer.
    • Open folder C:\GL .
    • In the new File Explorer, you have the folder SDL-release-2.30.3 , (or latest). Click it > click it again and drag into C:\GL.
    • Once copying and pasting of the folder is complete, copy SDLsrc > click folder > right click > click Rename (in Windows 11 it is an icon) > paste > hit Enter . Now in folder GL you have folder SDLsrc .
    • Close the new File Explorer > close SDL window.
  2. 2
    Compile source by Cmake and Visual Studio. See above image.
    • Copy ( attention do not copy any space) C:/GL/SDLsrc > paste into the first text field of the CMake GUI.
    • Copy ( attention do not copy any space) C:/GL/SDLsrc/build and paste into the second text field.
    • Configure and generate. In CMake GUI, click Configure > in wizard Create Directory click Yes > in wizard "Specify the generator for this project" click Finish .
    • When, in CMake GUI, you read: "Configuring done", click Generate . You should read: "Generating done".
  3. 3
    Build your solution.
    • Copy C:/GL/SDLsrc/build and paste in File Explorer's Address bar > hit Enter > double click "SDL2.sln", or "SDL2", or "ALL_BUILD.vcxproj" > in thrown wizard select "Microsoft Visual Studio 2022" > click OK . An instance of Visual Studio appears. In the main menu, click "Build" > "Build Solution".
    • Wait till in "Output" window last line you read: ========== Build: X succeeded, 0 failed, 0 up-to-date, Y skipped" ==========
      • TIP: Numbers X of "succeeded" and Y "skipped" change in SDL2 versions. Today (March 14, 2023) are 7 and 2 respectively.
    • Copy C:\GL\SDLsrc\build\Debug and paste in File Explorer's Address Bar > hit Enter . You should see four .lib files among others.
    • Close this instance of Visual Studio > close Cmake.
  4. Advertisement
Part 13
Part 13 of 21:

Creating Project SDLsrc-0

PDF download Download Article
  1. 1
    Create empty project.
    • If Visual Studio is not open . Open it > click Create a new project .
      • In Create a new project wizard, find (see image above) Empty Project Start from scratch with C++ for Windows. Provides no starting files. (if necessary scroll down the list or type Empty Project in search box above the list and hit Enter ) > click it > click Next .
      • In Configure your new project wizard for "Project name" type (or copy and paste) SDLsrc-0
      • Copy C:\GLP and paste in "Location" text field.
      • Check "Place solution and project in the same directory".
      • Click Create .
      • Wait till Visual Studio instance appears.
    • If Visual Studio is open . In main menu click File > New > Project… > the rest as above.
    • In "Solution Explorer" window right click the "Source Files" folder (the last one) > click "Add > "New Item…"
    • In the "Add New Item" wizard delete "FileName" and type Main instead > click Add . The file will open in the main text editor but leave the file blank for now.
  2. Advertisement
Part 14
Part 14 of 21:

Setting up compiled SDL Source

PDF download Download Article
  1. In Solution Explorer wizard, right click Project's name that is SDLsrc-0 > select Properties (the last entry). In "SDLsrc-0 Property Pages" wizard,
  2. 2
    Add dll file path (address) to "System Variables". In Windows search text field (bottom left of the screen) type envir > hit Enter . "System Properties" wizard is thrown.
    • If it's not chosen, click the "Advanced" tab in the top bar > click Environment Variables... . "Environment Variables" wizard is thrown.
    • In the "System Variables" section (the second one) double click the "Path" (or "PATH") Variable. "Edit environment variable" wizard is thrown.
    • Copy C:\GL\SDLsrc\build\Debug > click New > Paste.
    • Click OK in all 3 wizards.
    • Close Visual Studio > in thrown wizard "Save changes to the following items?" click Save .
    • Restart your PC > open Visual Studio. If project SDLsrc-0 is open, it's okay. If not, in "Open recent" list, click "SDLsrc-0.sln", the first one. Now your project is open ready for test.
  3. Advertisement
Part 15
Part 15 of 21:

Testing project SDLsrc-0 and Correcting errors

PDF download Download Article
  1. 1
    Test your project. Copy following code and paste in Main.cpp code area > in main menu select x64 > hit Ctrl + F5 or in Visual Studio's main menu click the green triangle with phrase "Local Windows Debugger". If a black window with message "SDL initialization succeeded!" appears, then the project was set up correctly. You are now ready to program with SDL.
 #include 
 <iostream> 
  
 #include 
 <SDL.h> 
  
 using 
 namespace 
 std 
 ; 
 int 
 main 
 ( 
 int 
 argc 
 , 
 char 
 * 
 argv 
 []) 
 { 
 if 
 ( 
 SDL_Init 
 ( 
 SDL_INIT_EVERYTHING 
 ) 
 < 
 0 
 ) 
 { 
 cout 
 << 
 "SDL initialization failed. SDL Error: " 
 << 
 SDL_GetError 
 (); 
 } 
 else 
 { 
 cout 
 << 
 "SDL initialization succeeded!" 
 ; 
 } 
 cin 
 . 
 get 
 (); 
 return 
 0 
 ; 
 } 
  1. 1
    Correct errors. Files are missing. Copy C:\GLP\SDLsrc-0 and paste in File Explorer Address Bar. You should see file you added Main.cpp , and 4 other files added by Visual Studio. If they are missing you missed add file Main.cpp . Go to Part 12, step 2, and add it now.
    • In "Error List" if you see error
      • cannot open file SDL.h,
        • Check whether folder SDLsrc exists in C:\GL. If it exists
        • go to Part 13, step 1, sub-step 2 Additional Include Directories , and follow instructions.
      • cannot open file SDL2.lib or SDL2main.lib, go to part 13, step 1, sub-step 3 Additional Library Directories and follow instructions. Also to sub-step 4 Configure Additional Dependencies .
    • Thrown wizard about dll file go to previous Part step 2, and follow instructions
    • For other errors. If you can't correct them, close Visual Studio > delete project folder SDLsrc-0 which lives in C:\GLP > open Visual Studio > repeat set up from Part 12. Good job.
    • TIP: Even if in Property Pages main settings it is Platform: x64 , click Configuration manager... and in Active solution platform: select x64.
  2. Advertisement
Part 16
Part 16 of 21:

Creating Project with "SDLsrc-0" Template

PDF download Download Article
  1. Go to Visual Studio and, while "SDLsrc-0" is open , click "Project" > "Export Template...". On "Export template Wizard" check "Project Template", if it's not checked. Click Next > .
  2. 2
    Create project. In Visual Studio main menu, select x64 > click File > New > Project... .
    • In Create a new project wizard in the list of templates select SDLsrc-0 (if necessary scroll down the list or type it in search box above the list and hit Enter ) > click Next .
    • In Configure your new project wizard, if "Project name" is SDLsrc-01 it's okay. If it's not, type (or copy and paste) SDLsrc-01
      • Location should be C:\GLP. If it's not, delete anything, copy C:\GLP and paste.
      • Be sure Place solution and project in the same directory is checked.
      • Click Create .
    • In Visual Studio main menu, select x64 > hit Ctrl + F5 or in Visual Studio's main menu click the green triangle with phrase "Local Windows Debugger". Good job
  3. 3
    TIP: Remember, in every project you create with this template, select x64 (next to Debug) in Visual Studio's GUI.
  4. Advertisement
Part 17
Part 17 of 21:

Choosing Set Up

PDF download Download Article
  1. 1
    In this tutorial you learn 3 was to set up SDL in Project with Visual Studio.
    • Set up binaries x86 (32 bits). It's the easiest. You should start learning set up from here.
    • Set up binaries x64 (64 bits). It targets x64 platform. Choose it only when you are sure your project needs it.
    • Compile SDL source, and set up in project. Targets x64 too.The most difficult. The best though.
Part 18
Part 18 of 21:

Tips

PDF download Download Article
  • General way for configure Additional Include Directories is that, after clicking first icon, click three dots ... , navigate to the folder where .h file(s) live(s) (C: > GL > SDL > include, in this tutorial) and click Select a folder .
  • General way for configure Additional Library Directories is that, after clicking first icon, click three dots ... , navigate to the folder where .lib file(s) live(s) (C: > GL > SDL > lib > x86, in this tutorial) and click Select a folder .
  • General way for configure Additional Dependencies is that,
    • In File Explorer navigate to folder where .lib file(s) live(s) (C: > GL > SDL > lib > x86, in this tutorial), click twice on the name of each .lib file and copy (by strike Ctrl + C ) the name with its extension .lib.
    • Now go to Additional Dependencies wizard and paste it (by strike Ctrl + V ). Type a semicolon (;).
    • If you want configure OpenGL with your project add opengl32.lib .
  • Place dll files for x32 platform into folder C:\Windows\SysWOW64, and for platform x64 in folder C:\Windows\System32.
Part 19
Part 19 of 21:

Setting up SDL, images, true type fonts, sound

PDF download Download Article
  1. You'll be downloading and unzipping several files, so it's good to keep them all in a single folder. Keep it simple—create the folder in the root of your C: or D: drive, e.g. C:\SDL .
  2. Download the latest version of SDL2 from http://libsdl.org/download-2.0.php . The file you need is the ZIP file containing the development libraries, so select SDL2-devel-2.0.12-VC.zip . [1]
  3. Here's an easy way to do this:
    • Open your default Downloads folder and scroll to SDL2-devel-2.0.12-VC.zip .
    • Right-click SDL2-devel-2.0.12-VC.zip and select Extract Here .
    • Click Extract without changing the folder path. This unzips the files and displays a File Explorer window containing a folder called "SDL-2.0.12."
    • Double-click the new folder to open it. You'll see three folders and several files.
    • Highlight all of the files and sub-folders and press Control + X .
    • In the same File Explorer window, navigate to the SDL folder you created and double-click it to open it.
    • Right-click a blank area in the folder and select Paste . The files are now moved into the correct folder.
  4. Install the files necessary for including images in your program. If you'll be using any graphics in your program, you'll want to set up image file support for both X86 (32-bit) and X64 (64-bit) systems. To install the image support files:
    • Download and extract the file:
      • Go to https://www.libsdl.org/projects/SDL_image .
      • Below Development Libraries: find and download SDL2_image-devel-2.0.5-VC.zip .
      • Right-click the downloaded file called SDL2_image-devel-2.0.5-VC.zip and select Extract All .
      • Click Extract .
    • Move the SDL_image.h file to SDL's include folder.
      • In File Explorer navigate ... Downloads > SDL2_image-devel-2.0.5-VC.zip > SDL2_image-2.0.5 > include > click file SDL_image.h > right click > select Copy .
      • Go to C:\SDL\include > right click in blank area > Paste .
    • Move the x64 files to the appropriate folder.
      • Double-click the new folder called SDL2_image-2.0.5 .
      • Double-click the lib folder and then the x64 folder.
      • Select all the folder's contents and press Ctrl + X .
      • In the same window, navigate to the SDL folder you created (e.g., C:\SDL").
      • Double-click the lib and then the x64 folder.
      • Right-click a blank area of the folder and click Paste .
    • Move the x86 files to the appropriate library folder.
      • Return to the Downloads folder and double-click the unzip SDL2_image-2.0.5 folder.
      • Double-click the lib folder and then the x86 folder.
      • Select all of the folder's contents and press Ctrl + X .
      • In the same window, navigate to the SDL folder you created (e.g., D:\SDL").
      • Double-click the lib and then the x86 folder.
      • Right-click a blank area of the folder and click Paste .
  5. Like with image support, you'll need to download libraries to support any True Type fonts you want to include in your program. And like image support, you'll have to copy the x86 and x64 files to their own library folders:
    • Download and unzip the file:
      • Go to https://www.libsdl.org/projects/SDL_ttf and, below Development Libraries: find and download the file called SDL2_ttf-devel-2.0.15-VC.zip .
      • Right-click SDL2_ttf-2.0.15 folder in your Downloads folder and select Extract All .
      • Click Extract .
    • Move SDL_ttf.h file to SDL's include folder.
      • Go to Downloads > SDL2_ttf-devel-2.0.15-VC.zip > SDL2_ttf-2.0.15 > include > click SDL2_ttf.h file > right click > select Copy .
      • Go to C:\SDL\include > right click > select Paste .
    • Move the x64 files to the appropriate library folder.
      • Double-click the SDL2_ttf-2.0.15 folder in your Downloads. You find it in unzip folder SDL2_ttf-devel-2.0.15-VC .
      • Double-click lib and then x64 .
      • Select all the files and press Ctrl + X .
      • In the same File Explorer window, navigate to the SDL folder you created (e.g., C:\SDL").
      • Double-click the lib folder
      • Double-click the x64 folder.
      • Right-click a blank area of the folder and select Paste .
    • Move the x86 files to the appropriate library folder.
      • Return to the Downloads folder and double-click the SDL2_ttf-2.0.15 .
      • Double-click the lib folder and then the x86 folder.
      • Select all of the folder's contents and press Ctrl + X .
      • In the same window, navigate to the SDL folder you created (e.g., C:\SDL).
      • Double-click the lib and then the x86 folder.
      • Right-click a blank area of the folder and click Paste .
  6. If you want any sounds in your program, you'll need sound support. The process is just like setting up image and True Type support.
    • Download and unzip:
      • Go to https://www.libsdl.org/projects/SDL_mixer and below Development Libraries: find and download SDL2_mixer-devel-2.0.4-VC.zip .
      • Right-click the downloaded file and select Extract All and then Extract .
    • Move the SDL2_mixer.h file into SDL's include folder.
      • Go to Downloads > SDL2_mixer-devel-2.0.4-VC.zip > SDL2_mixer-2.0.4 > include > click file SDL2_mixer.h > right click > select Copy .
      • Go to C:\SDL\include > in blank area right click > select Paste .
    • Move the x64 files to the appropriate library folder.
      • Double-click the SDL_mixer-2.0.4 folder in your Downloads.
      • Double-click lib and then x64 .
      • Select all of the files and press Ctrl + X .
      • In the same File Explorer window, navigate to the SDL folder you created (e.g., C:\SDL").
      • Double-click the lib folder and then the x64 folder.
      • Right-click a blank area of the folder and select Paste .
    • Move the x86 files to the appropriate library folder.
      • Return to the Downloads folder and double-click the SDL_mixer-2.0.4 .
      • Double-click the lib folder and then the x86 folder.
      • Select all of the folder's contents and press Ctrl + X .
      • In the same window, navigate to the SDL folder you created (e.g., C:\SDL ).
      • Double-click the lib and then the x86 folder.
      • Right-click a blank area of the folder and click Paste .
  7. Open Visual Studio 2019. You'll find it in your Start menu.
  8. 8
    Click Create a new project . It'll appear once Visual Studio launches. [2] .
  9. To do this, search for "Empty Project" in the template search bar and click Empty Project (the one that's labeled with "C++") when it appears. Then, click Next to continue.
  10. Name the project and choose a location to save it. [3] Also, check "Place solution and project in the same directory" on this screen.
  11. It's at the bottom-right corner. This opens your empty project.
  12. Here's how:
    • Right-click Source Files in the Solution Explorer window.
    • Select Add > New Item…
    • In the "Add New Item - Project-0" window, click C++ File (.cpp) . Change the name if you'd like.
    • The "Location" should be C:\SDL\Project-0\ (or whatever path you're using). If it's not, click to the right of the field, navigate to the correct folder, and click Select folder .
    • Click Add to open the file in the main editor.
  13. You'll do this in the Solution Explorer window.
  14. Here's how:
    • Select All Platforms from the "Platform" menu at the top of the window.
    • Expand the C/C++ menu in the left panel and select General . [4]
    • In the right panel, click Additional Include Directories , down arrow at the end of the field, Edit .
    • At the top of the "Additional Include Directories" wizard, click the brown folder icon (the first icon), and then click ... next to the text box.
    • In the "Select Directory" window, navigate to C:\SDL (or wherever your SDL folder is), select the include folder, and then click Select Folder .
    • Click OK on the "Additional Include Directories" window.
    • Select x64 from the menu and click Yes , if prompted, to save.
    • Now, click Linker, General, Additional Library Directories in the right panel, the down arrow at the end of the field, and select Edit .
    • Click the brown folder icon, the ... and navigate to C:\SDL\lib (or wherever your SDL folder is), select the x64 folder, and then click Select Folder .
    • Click OK on the Additional Library Directories window.
    • Now select x86 (or win32) from the "Platform" menu. Click Yes to save if prompted.
    • Again, click Additional Library Directories in the right panel, the down arrow at the end of the field, and select Edit .
    • Click the brown folder icon, and then .
    • Navigate to C:\SDL\lib (or wherever your SDL folder is), select the x86 folder, and then click Select Folder .
    • Click OK on the Additional Library Directories window. Leave the properties window open, though.
  15. Here's how:
    • On the Properties window, select x86 (or win32) from the "Platform" menu and click Yes if prompted.
    • Expand the Linker menu in the left panel and select Input .
    • Click the Additional Dependencies option in the right panel, the down arrow at the end of the field, and select Edit .
    • Copy SDl2.lib; SDL2_mixer.lib; SDL2_ttf.lib; SDL2_image.lib; SDL2main.lib and paste into upper most text area of "Additional Dependencies" wizard.
    • Click OK .
    • Switch to the x64 platform using the Platform menu and click Yes if prompted.
    • Click the Additional Dependencies option in the right panel, the down arrow at the end of the field, and select Edit .
    • Copy SDl2.lib; SDL2_mixer.lib; SDL2_ttf.lib; SDL2_image.lib; SDL2main.lib and paste into upper most text area of "Additional Dependencies" wizard.
    • Click OK .
    • Click Apply at the bottom. Don't close the window.
  16. You should still be your project's properties window:
    • Expand the Linker menu in the left panel and select System .
    • Switch to the x86 (or Win32) platform.
    • In the right panel, click SubSystem .
    • Click the down-arrow and select Console (/SUBSYSTEM:CONSOLE) .
    • Click Apply .
    • Switch to the x64 platform.
    • Click the down-arrow and select Console (/SUBSYSTEM:CONSOLE) again. Click Apply and then OK .
    • Press Windows key + E to open the File Explorer.
    • Navigate to C:\SDL\lib\x64 (unless you're using a 32-bit version of Windows, in which case, use the x86 folder). When you're there, select all of the .DLL files you'll need for this project (at the very list, SDL2.dll —but if you're using images, sdl2_image.dll , etc.) and select Copy .
    • Navigate to C:\SDL\Project-0 (or whatever your project folder is called). When there, right-click a blank location in the folder and select Paste .
  17. Copy following code and paste in Source.cpp code area. In Visual Studio main menu switch to x64. Hit Ctrl + F5 . If a black window with the message "SDL initialization succeeded!" appears, then the project was set up correctly. You are now ready to program with SDL.
  18. Advertisement
 #include 
 <SDL.h> 
  
 #include 
 <SDL_image.h> 
  
 #include 
 <SDL_ttf.h> 
  
 #include 
 <SDL_mixer.h> 
  
 #include 
 <iostream> 
  
 using 
 namespace 
 std 
 ; 
 int 
 main 
 ( 
 int 
 argc 
 , 
 char 
 * 
 argv 
 []) 
 { 
 if 
 ( 
 SDL_Init 
 ( 
 SDL_INIT_EVERYTHING 
 ) 
 < 
 0 
 ) 
 { 
 cout 
 << 
 "SDL initialization failed. SDL Error: " 
 << 
 SDL_GetError 
 (); 
 } 
 else 
 { 
 cout 
 << 
 "SDL initialization succeeded!" 
 ; 
 } 
 cin 
 . 
 get 
 (); 
 return 
 0 
 ; 
 } 
Part 20
Part 20 of 21:

Correcting errors

PDF download Download Article
  1. If you see this error, return to the project's properties, and double-check the folders in "Additional include Directories.
  2. Make sure all directories are correct in properties and that you've added all library files to Linker > Input > Additional Dependencies .
  3. Return to Linker > System and make sure the Subsystem value is correct.
  4. Make sure SDL2.dll is pasted into your project's folder.
  5. Advertisement
Part 21
Part 21 of 21:

Creating a Template from Your Project

PDF download Download Article
  1. Now that you've created a project, it can be helpful to save it as a template that you can use to create new projects with all necessary paths set up and ready to use. [5]
  2. This opens the Export Template wizard.
  3. Here you'll enter a name for the template, a description, icon, and preview image. Give the template a name like "SDL" or "SDL template" so you know what it's for everything you select will appear in the dialog window when you create a new project from a template.
    • If you don't want to load the template into VS immediately, remove the checkmark from "Automatically import the template into Visual Studio."
  4. This saves the template to a ZIP file in the "My Exported Templates" folder, which you'll find in your user folder under \Documents\Visual Studio 2019\Templates\Project Templates.
  5. Advertisement

Community Q&A

Search
Add New Question
  • Question
    What does unresolved external symbol "referenced in" mean?
    Bryan Hadland
    Community Answer
    An unresolved external symbol means that you have not setup the project fully. By this I mean make sure you have linked against the library that your using.
  • Question
    I'm using 64-bit Windows. Method 4, Step 2, "Configure the linker 'Additional Library Directories'," mentioned selecting x86. Since I'm using 64-bit, can I choose x64?
    Community Answer
    You can use x86 platform (32 bits) with Windows 64-bit. However if you need x64 do this: Create a new empty project. Follow the article's instructions with these changes: 1. In Project's Property Pages wizard 1.1. In ''Platform:'' entry, choose ''x64" 1.2. Click [Configuration manager...], 1.2.1. In ''Active solution platform:'' select x64, 1.2.2. In ''Platform'' entry choose x64. Click [Close]. 1.3. In "Linker" > "General" > "Additional Librariy Directories'' > down arrow at the end of the field > Edit.. > three dots > in "Select Directory" window, navigate to C:\SDL\SDL2\lib\x64, and click [Select a folder]. 2. In Windows File Explorer navigate to C:\SDL\SDL2\lib\x64 and copy file SDL2.dll. Paste in your project folder.
Ask a Question
      Advertisement

      Tips

      Submit a Tip
      All tip submissions are carefully reviewed before being published
      Thanks for submitting a tip for review!

      About This Article

      Thanks to all authors for creating a page that has been read 129,456 times.

      Is this article up to date?

      Advertisement