안녕하세요 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.lib | sfml-window.lib,sfml-system.lib, opengl32.lib,freetype.lib |
sfml-windows.lib | sfml-system.lib, opengl32.lib winmm.lib, gdi32.lib |
sfml-audio.lib | sfml-system.lib, openal32.lib, flac.lib, vorbisenc.lib, vorbisfile.lib, vorbis.lib, ogg.lib |
sfml-network.lib | sfml-system.lib, ws2_32.lib |
sfml-system.lib | winmm.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였습니다 (•̀ᴗ•́)و
'Coding & Programming > C, C++, SFML' 카테고리의 다른 글
[C/C++, SFML] 6. 폰트(font) 파일 읽고 화면에 출력하기(Font, Text) (2) | 2021.03.29 |
---|---|
[C/C++, SFML] 5. 캐릭터, 배경 등 이미지(Texture, Sprite) 출력하기 (1) | 2021.03.28 |
[C/C++, SFML] 4. 타이머(Timer) 구현하기 (2) | 2021.03.27 |
[C/C++, SFML] 3. 기본 윈도우(RenderWindow) 출력하기 (0) | 2021.03.26 |
[C/C++, SFML] 1. SFML 프로그래밍 시작 (0) | 2021.03.24 |