본문 바로가기

C/C++/SDL2

Visual Studio 2013 - SDL2 셋팅

1. SDL 라이브러리 구하기


SDL 공식 홈페이지에 가면 SDL 라이브러리를 구할 수 있습니다.


https://www.libsdl.org/index.php 일단 여기로 들어가시면 위 사진과 같은 화면 좌측 하단에 보이는


Download 항목의 SDL 2.0 을 클릭합니다.






우리는 SDL을 사용해서 개발을 할 것이기 때문에, 저희에게 필요한건 SDK 혹은 Development Library 입니다. 


Development Library 의 항목을 보시면 운영체제 별로 나눠져 있는데 


Visual Studio 의 경우 Visual C++ 32/ 64-bit 라는 라이브러리를 사용합니다.


따라서 SDL2-devel-2.0.3-VC.zip을 클릭하셔서 다운받습니다.








방금 받은 것은 sdl 의 기본 기능만 들어있는 라이브러리이기 때문에 그림을 그리거나 음악을 재생하실려면


추가적으로 SDL_image 와 SDL_mixer 라는 라이브러리를 다운받으셔야 합니다.


https://www.libsdl.org/projects/ 에 들어가시면 받으실 수 있습니다. 



==================================================================================



==================================================================================


==================================================================================






모두 다운받으셨으면 영어이름의 적당한 새 폴더를 만들고  (저 같은 경우는 sdl_visual c++ 라는 이름의 폴더를 만듬)


폴더 안에 다운 받은 녀석들을 모두 넣어줍니다.


(꼭 영문 이름으로 만드셔야 합니다...  한글 경로는 visual studio 2013 이 인식 못할 수도 있음...)







그리고 그 안에 압축을 모두 풀어줍니다.







이제  준비된 sdl_visual c++ 폴더를  


C 드라이브나 D드라이브든 원하시는 찾기 편한 곳에 둡니다.


그럼 이제 sdl 라이브러리를 사용할 준비가 되었으니  Visual Studio 2013을 실행시킵니다.






SDL을 사용해볼 새로운 프로젝트를 하나 만들어 봅시다.


메뉴의   파일-> 새 프로젝트 를 선택합니다.






그 뒤, 프로젝트의 종류에서   "빈 프로젝트" 를 선택하시고  만드시는 프로젝트의 이름을 


적절히 정한 뒤 "확인" 버튼을 누룹니다.   (저는 SDL2_tutorial 이라고 지었습니다.)






이제 프로젝트가 만들어 졌으니 소스 파일을 하나 만듭시다. 


솔루션 탐색기에서 자신이 만든 프로젝트의


"소스파일"에 마우스 오른쪽 버튼을 누르시고    "추가" -> "새 항목" 을 누룹니다.






그리고 추가할 소스파일의 종류를 "C++ 파일"로 선택하시고 


추가할 파일의 이름을 설정하고 "추가" 버튼을 누룹니다   (저는 main.cpp 라고 이름을 정했습니다.)






이제 다시 솔루션 탐색기에서  자신이 만든 프로젝트에 오른쪽 마우스를 클릭하시고 


속성을 누룹니다.






그러면 위와 같은  속성 페이지라는 대화상자가 나오는데 







속성 페이지에서 


구성 속성 -> C/C++ -> 일반-> 추가 포함 디렉터리의 ▼ 버튼 클릭 -> "<편집...>"을 클릭합니다.







그러면 위와 같은 대화상자가 나오는데 일단 저  폴더 모양 아이콘을 클릭하시면 


무언가를 입력할 수 있는 줄이 나오는데


여기서 이제 우리가 사용할 라이브러리의 include 폴더가 어느 폴더에 있는지 적어줘야 합니다.


아직 아무것도 입력하지 마시고...






우리가 전에 압축을 풀어놓은 3개의 라이브러리 폴더가 있을 겁니다.


이중 


SDL2-2.0.3 폴더에서 include 폴더에 들어갑니다. 





그러면 위와 같이 헤더파일이 무수히 많을 텐데 위 사진의  붉은 부분으로 친 주소부분을  Ctrl + C  복사하시고

(참고로 제 스샷의 경로를 동일하게 입력하시면 안됩니다... 여러분은 여러분이 놓은 파일의 위치가 저와는 다를테니 말이죠
여러분이 놓은 파일 위치 주소를 고대로 복사하시면 됩니다!!)
 







그리고 이 주소를 방금전의 이곳에다  Ctrl + V 붙여넣기 하십니다....


그러면 경로가 등록이 됩니다...




이러한 식으로  아까 전에 우리가 만든  sdl_visual c++ 폴더에 있는 나머지 


SDL_image-2.0.0 폴더의 include 폴더 


SDL_mixer-2.0.0 폴더의 include 폴더


두 폴더의 경로도 추가해 줍니다.   그리고 확인을 누룹니다.


자 이제 마지막으로 라이브러리 경로를 등록해 줘야합니다.





속성 페이지에서 


링커 -> 일반 -> 추가 라이브러리 디렉터리의 ▼ 버튼 클릭 -> "편집..." 을 클릭합니다.





아까와 같이 경로를 복사 붙여넣기 해주면 된다 이번에는 






SDL2-2.0.3 폴더의-> lib-> x86 폴더 


SDL2_image-2.0.0 폴더의-> lib -> x86 폴더 


SDL2_mixer-2.0.0  폴더의-> lib -> x86 폴더 


위 3개 폴더의 경로를 등록해 주면 됩니다.


(참고로 x64 와 x86 폴더 2개가 있을텐데  x64는 64비트용 라이브러리입니다. 

  우리는 32 비트용으로 개발 할 것이기에 x86을 선택했습니다.)



자 여기까지의 작업은 우리가 사용할 SDL 이란 라이브러리가 어느 폴더에 있는지 


경로를 컴파일러에게 알려주는 과정이였고 이제 위치 등록이 끝났으니 


마지막으로 이제 우리가 사용할 SDL 라이브러리를 컴파일러에게 등록하면 됩니다.





속성페이지에서 


링커 -> 입력 -> 추가 종속성의 ▼ 버튼 클릭 -> "편집..."을 클릭합니다.





이곳에 우리가 사용할 라이브러리의 이름들을 적어 줍니다.


SDL2.lib

SDL2main.lib

SDL2_image.lib

SDL2_mixer.lib 


등을 적어주고 확인을 누르고 




링커 -> 시스템 -> 하위 시스템의 ▼ 버튼을 누르고 -> "콘솔"을 선택합니다.






마지막으로 속성페이지에서 


적용을 누르고 확인을 눌러주면 셋팅이 끝났습니다.






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#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;
}



이제 준비가 다 되었으니  위의 소스코드를 똑같이 적고 


빌드를 해고 실행을 해 봅시다.  (빌드  ctrl + f5  )


그러면 





빌드는 성공했지만 프로그램을 실행하려고 하면 위와 같은 오류가 뜨는데 이것은 





SDL2-2.0.3 폴더에서 -> lib -> x86 폴더 안에  


"SDL2.dll" 이란  파일이 있는데 이것을 복사한 뒤 (Ctrl + C)




지금 여러분이 만드신 프로젝트 폴더의 Debug 폴더 안에 "SDL2.dll" 파일을 넣어주면 


이제 잘 실행 될껍니다.





실행결과는 위 영상 처럼 그냥 


흰색 윈도우창이 약 2초간 아무 일도 없이 가만히 있다가 꺼지는 


심심한 프로그램입니다...



아직 위의 코드는 몰라도 됩니다..


앞으로 하나 하나 자세히 알아봅시다.  


오늘은 여기까지!






'C/C++ > SDL2' 카테고리의 다른 글

SDL에 대하여 (About SDL)  (0) 2016.11.12
1장 Hello SDL  (0) 2015.05.25
00장. 게임 프로그래밍 첫 걸음  (0) 2015.05.25
Code::Blocks - SDL2 셋팅  (0) 2014.08.27
SDL 소개  (0) 2014.08.27