SDL setting

2D ±×·¡ÇÈ ¾Ë°í¸®Áò Å×½ºÆ®¸¦ À§ÇØ SDL¿¡ ´ëÇØ ¾Ë¾Æ º¸±â·Î Çß´Ù.
ÄõµåÆ®¸®³ª ±×¸®µå ¼Ò½º¸¦ ã¾Æº¸´Ï ´ëºÎºÐ SDLÀ» »ç¿ëÇØ ¼³¸íÇÏ°í À־ ³ªµµ SDL¿¡ ´ëÇؼ­ ¾Ë¾Æ º¸±â·Î Çß´Ù.

1. ´Ù¿î·Îµå
SDL °ü·Ã ¶óÀ̺귯¸®¸¦ ´Ù¿î·Îµå ¹ÞÀÚ.

¿©±â°¡ SDLÀÇ ¸ÞÀΠȨÆäÀÌÁö ¸µÅ©ÀÌ´Ù.
https://www.libsdl.org/index.php

¸ÞÀΠȨÆäÀÌÁöÀÇ "Download > SDL 2.0"ÀÌ ÀÖ´Ù.
À©µµ¿ìÁî¿¡¼­ ºñÁê¾ó ½ºÆ©µð¿À¸¦ »ç¿ëÇÏ°í Àֱ⠶§¹®¿¡  "SDL2-devel-2.0.10-VC.zip" ÆÄÀÏÀ» ´Ù¿î·Îµå ¹Þ´Â´Ù.

https://www.libsdl.org/projects/

±×¸²À» ±×¸®°Å³ª À½¾ÇÀ» Àç»ýÇϱâ À§ÇØ Ãß°¡ÀûÀ¸·Î ¶óÀ̺귯¸®¸¦ ´Ù¿î·Îµå ¹Þ´Â´Ù.



SDL_image¿¡¼­ SDL2_image-devel-2.0.5-VC.zip ÆÄÀÏÀ» ´Ù¿î·Îµå ¹Þ´Â´Ù.
SDL_mixer¿¡¼­ SDL2_mixer-devel-2.0.4-VC.zip ÆÄÀÏÀ» ´Ù¿î·Îµå ¹Þ´Â´Ù.

3°³ÀÇ ÆÄÀÏÀ» ´Ù¿î·Îµå ¹Þ°í ÆÄÀÏ ¾ÐÃàÀ» Ǭ´Ù.
SDL2-devel-2.0.10-VC.zip
SDL2_image-devel-2.0.5-VC.zip
SDL2_mixer-devel-2.0.4-VC.zip



2. ÇÁ·ÎÁ§Æ® »ý¼º

»ç¿ëÇÑ ¹öÀüÀº Visual Studio 10ÀÌ´Ù.
ÀÏ¹Ý > ºó ÇÁ·ÎÁ§Æ® ÅÛÇø´À¸·Î ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÑ´Ù.
ÇÁ·ÎÁ§Æ® À̸§Àº "sdlHello"ÀÌ´Ù.



main.cpp ÆÄÀÏÀ» ÇÁ·ÎÁ§Æ®¿¡ Ãß°¡ÇÑ´Ù.

3. ºñÁê¾ó ½ºÆ©µð¿À ÇÁ·ÎÁ§Æ® ¼Ó¼º ¼³Á¤

Çì´õ ÆÄÀÏ Æú´õ Ãß°¡ : ±¸¼º ¼Ó¼º > C/C++ > ÀÏ¹Ý > Ãß°¡ Æ÷ÇÔ µð·ºÅ丮

D:\work_sdl\SDL2-2.0.10\include
D:\work_sdl\SDL2_image-2.0.5\include
D:\work_sdl\SDL2_mixer-2.0.4\include

¶óÀ̺귯¸® Æú´õ Ãß°¡ : ±¸¼º ¼Ó¼º > ¸µÄ¿ > ÀÏ¹Ý > Ãß°¡ ¶óÀ̺귯¸® µð·ºÅ丮

D:\work_sdl\SDL2-2.0.10\lib\x86
D:\work_sdl\SDL2_image-2.0.5\lib\x86
D:\work_sdl\SDL2_mixer-2.0.4\lib\x86

¶óÀ̺귯¸® Ãß°¡ : ±¸¼º ¼Ó¼º > ¸µÄ¿ > ÀÔ·Â > Ãß°¡ Á¾¼Ó¼º

SDL2.lib
SDL2main.lib
SDL2_image.lib
SDL2_mixer.lib

ÇÏÀ§½Ã½ºÅÛ ¼³Á¤ : ±¸¼º ¼Ó¼º > ¸µÄ¿ > ½Ã½ºÅÛ > ÇÏÀ§½Ã½ºÅÛ

ÄܼÖ(/SUBSYSTEM:CONSOLE)·Î ¼³Á¤ÇÑ´Ù.




4. ÄÚµå ÀÛ¼º

ºôµåÈÄ¿¡ SDL2.dll ÆÄÀÏÀ» ½ÇÇà ÆÄÀÏÀÌ ÀÖ´Â Æú´õ¿¡ º¹»çÇÑ´Ù.
¾Æ·¡ Äڵ带 ½ÇÇàÇÏ¸é ¸îÃÊ°£ È­¸éÀÌ ¶¹´Ù Á¾·áµÉ°ÍÀÌ´Ù.

main.cpp ÆÄÀÏ
#include <SDL.h>
#include <stdio.h>
 
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
 
int main(int argc, char *args[])
{
    SDL_Window* window = NULL;
 
    SDL_Surface* screenSurface = NULL;
 
    if(SDL_Init(SDL_INIT_VIDEO) < 0)
    {
        printf("SDL could not initialize! SDL_Error: %s\n",SDL_GetError());
    }else
    {
        window = SDL_CreateWindow("SDL Tutorial",
                                SDL_WINDOWPOS_UNDEFINED,
                                SDL_WINDOWPOS_UNDEFINED,
                                SCREEN_WIDTH,
                                SCREEN_HEIGHT,
                                SDL_WINDOW_SHOWN);
        if(window == NULL)
        {
            printf("Window could not be created! SDL_Error: %s \n",SDL_GetError());
        }else
        {
            screenSurface = SDL_GetWindowSurface(window);
 
            SDL_FillRect(screenSurface, NULL, SDL_MapRGB(screenSurface->format,0xFF,0xFF,0xFF));
 
            SDL_UpdateWindowSurface( window );
 
            SDL_Delay( 2000);
        }
    }
 
    SDL_DestroyWindow( window);
 
    SDL_Quit();
 
    return 0;
}


Âü°í)
¿©±â¿¡ ÀÖ´Â ±ÛÀ» ÀÚÁ®¿Í¼­ Á¤¸®Çß´Ù. °¨»çÇÕ´Ï´Ù.
https://codinglove.tistory.com/49

Æ©Å丮¾ó ¿µ¹®½ÎÀÌÆ®·Î À§ÀÇ ½ÎÀÌÆ®ÀÇ ¿øº»Àεí ÇÏ´Ù. ´Ù¾çÇÑ ¿¹Á¦°¡ ÀÖ´Ù.
https://lazyfoo.net/tutorials/SDL/index.php