최근 Game Programming in C++ 라는 책을 사서 조금 전부터 읽기 시작했는데, 책을 따라가며 직접 해보고 싶어 일부러 소스 파일을 받아만 두고 열어보지는 않았다.

이 책은 소스를 무조건 보면서 해야한다. 설명을 대강적으로 하고 넘어가는 부분들이 상당히 많아 소스를 참고해가며 직접 치는게 가장 좋은 방법인 것 같다.

그런데 SDL 이라는 라이브러리를 추가해야할 일이 생겼는데, 항상 라이브러리를 추가해오면서 의외로 이걸 모르는 사람이 많았던 것 같아 적어본다.

먼저 필요한 라이브러리를 다운로드 받는다. 나의 경우엔 SDL 라이브러리를 받았다.

필요한 라이브러리를 받았으면, 원하는 폴더에 옮겨둔다.

나의 경우엔 프로젝트 내부에 Library라는 폴더를 하나 만들고 그 안에 외부에서 가져온 라이브러리들을 넣었다.

라이브러리는 보통 개발용 SDK 같은걸 받는다면, lib 형식 라이브러리 파일과 헤더파일이 제공된다. (라이브러리는 매우 다양한 케이스가 존재함. SDL2 기준)

SDL2 기준에서는 아래와같은 두개의 폴더에 각각 lib 파일과 헤더파일이 들어있다.

비주얼 스튜디오 프로젝트에서 인식시키기 위해서는 lib 폴더와 include 폴더 안에 들어있는 파일들을 사용할 수있도록 연결시켜두어야 한다.

이제 Visual Studio 프로젝트 파일을 오른쪽 클릭해 속성창을 연다.

그럼 창이 하나 뜰텐데, 먼저 C/C++ 탭을 누르면. 추가 포함 디렉터리 라는 메뉴가 보일 것이다.

눌러보면 오른쪽에 아래로 가는 화살표 같은게 나오는데, 그걸 누르고 편집을 누르면 추가 포함 디렉터리 처리를 위한 창이 하나 나온다.

나온 창에서 오른쪽에 … 을 눌러 폴더를 쉽게 추가할 수 있다.

추가할 헤더들(.h)이 들어있는 폴더를 선택하고 폴더 선택 버튼을 누르면, 추가 포함 디렉터리에 폴더가 추가된다.

이제 lib 파일을 링크해줄 차례다. 프로젝트 속성창에서 링커를 누른다.

추가 라이브러리 디렉터리를 설정하기 전에, 우리가 받은 라이브러리가 어떤 플랫폼에서 동작하는지 알아야한다. 32비트, 64비트 처럼 플랫폼에 따라 라이브러리가 다를수 있기 때문에, 유의해서 추가해야한다.

나는 멀티스레드도 64비트도 별로 필요없는 프로젝트인 것 같지만, 32, 64 비트 버전 모두 있으니 둘다 설정하겠다.

추가 라이브러리 디렉터리를 아까 추가했던 것 처럼 똑같이 하되, 폴더만 lib 파일이 들어있는 폴더를 선택한다.

32비트를 설정중이니 x86 폴더를 선택한다. 64비트의 경우 x64를 선택해야한다.

이제 헤더파일들(.h)과 라이브러리 파일들(.lib)이 모두 인식되도록 설정되었다.

lib 파일사용을 위해 추가 종속성을 설정해주어야한다.

링커에서 입력 탭을 누르면 추가 종속성 메뉴가 있다.

이전과 같이 편집을 눌러 들어가면, 사용할 라이브러리 파일의 이름을 넣어주어야하는데, 무슨 라이브러리를 쓸지 폴더를 열어 확인해보아야한다.

나의 경우엔 SDL2.lib 과 SDL2main.lib 을 추가해야한다.

필요한 라이브러리 파일 이름을 적고 확인을 누르면 이제 라이브러리를 사용할 수 있게 되었다.

위에서 보았겠지만, 내 lib 폴더 내부에는 lib 파일과 더불어 dll 파일도 존재했다.

정적 라이브러리(lib)와 동적 라이브러리(dll)라는 것인데, 이 부분은 나중에 정리하도록 하겠다.