Coding & Programming/C, C++, SFML

[C/C++, SFML] 2. SFML 라이브러리 소개 및 Visual Studio 2019 설정

mainCodes 2021. 3. 25. 23:17

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و



SFML 라이브러리는 크게 Graphics, Audio, Network, System, Window의 다섯 가지 모듈로 구성되어 있습니다.

Audio 모듈Sound, streaming, recording 등 소리를 표현하고 레코딩하기 위한 하기 위한 모듈입니다.
Graphics 모듈sprite, text, shape 등 2D 그래픽을 위한 용도의 모듈로 Sprite, Image, Shape, Texture, Color 등의 그래픽 관련 클래스들로 구성되어 있습니다.
Network 모듈Socket을 기반으로 한 통신, 유틸리티와 HTTP, FTP와 같은 하이레벨 네트워크 프로토콜을 지원합니다.
System 모듈Clock, Thread, Mutex, Time, Vector Class, 유니코드 문자열 등을 제공합니다.
Windows 모듈OpenGL 기반 윈도우, 이벤트, 키보드 및 마우스 입력 처리 등을 제공합니다.

현재는 SFML 2.5.1이 최신버전이며 아래 링크에서 Visual C++ 15(2017) 버전을 다운로드하세요.

 

※ SFML 2.5.1 다운로드 :  www.sfml-dev.org/download/sfml/2.5.1/

 

저의 경우는 32bit를 다운로하여 Visual Studio 2019에서 사용하고 있습니다. 다운로드 하면 SFML-2.5.1-windows-vc15-32-bit.zip 파일을 원하는 폴더에 압축을 해제합니다.  저는 F:\forFun\SFML-2.5.1-windows-vc15-32-bit에 압축을 해제 했습니다. 압축을 해제하면 SFML-2.5.1 폴더는 다음과 같은 하위 폴더들이 존재합니다.

 

 

 

 

Visual Studio 2019를 기준으로 설명하면,

 

F:\forFun\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\include 폴더를 다음과 같이 C/C++ - General의 Additional Include Directories에 설정합니다.

 

 

 

F:\forFun\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\lib 폴더를 다음과 같이 Linker - General의 Additional Library Directories에 설정합니다.

 

 

"sfml-graphics-d.lib;sfml-window-d.lib;sfml-system-d.lib;sfml-audio-d.lib;"와 같이 4개의 라이브러리를 설정합니다.

 

기존에 %(AdditionalDependencies) 와 같이 설정되어 있다면 Linker - Input - Additional Dependencies에 "sfml-graphics-d.lib;sfml-window-d.lib;sfml-system-d.lib;sfml-audio-d.lib;%(AdditionalDependencies)" 형태로 세미콜론(';')을 구분자로 하여 라이브러리들을 추가해주면 됩니다.  참고로 저는 디버그용 라이브러리를 입력한 것인데, 만약 릴리즈용 라이브러리를 링크하고자 한다면 sfml-graphics.lib와 같이 파일명에 -d가 없는 파일들로 설정하면 됩니다.

 

다음은 SFML 라이브러리들의 종속성(dependencies)이니 참고하세요.

모듈종속성
sfml-graphics.libsfml-window.lib,sfml-system.lib, opengl32.lib,freetype.lib
sfml-windows.libsfml-system.lib, opengl32.lib winmm.lib, gdi32.lib
sfml-audio.libsfml-system.lib, openal32.lib, flac.lib, vorbisenc.lib, vorbisfile.lib, vorbis.lib, ogg.lib
sfml-network.libsfml-system.lib, ws2_32.lib
sfml-system.libwinmm.ib

 

마지막으로, F:\forFun\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\bin 에 있는 DLL들 중 종속성이 있는 DLL들은 컴파일 후 실행파일(.exe)이 생성된 곳에 있어야 합니다. 또는 환경변수(사용자 변수)의 path변수에 F:\forFun\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\bin의 경로를 추가해 줍니다.(시스템속성 - 환경변수 - 사용자 변수 - Path)

 

배포 목적이 아니라면 환경변수에 경로를 추가하는 것을 추천합니다.

 

 

 

이제 SFML을 이용할 준비가 모두 완료되었습니다. 다음 시간에는 SFML을 이용하여 기본 윈도우를 생성해 보도록 하겠습니다.

 

 

 

이상 JollyTree였습니다 (•̀ᴗ•́)و