Как сказал @ aj.toulan, вам нужно статически связывать SFML.Я предполагаю, что вы разрабатываете на Windows с использованием Visual Studio.Когда вы загружаете и настраиваете SFML, в нем уже есть статические библиотеки.
Если вы используете какие-либо внешние библиотеки, вам необходимо создать их статическую версию!
Вынеобходимо добавить определение препроцессора для SFML_STATIC в свойствах проекта.
- Перейти к свойствам проекта
- Перейти на вкладку C / C ++
- Препроцессор
- Добавить "SFML_STATIC;"в начале Определений препроцессора и нажмите Enter.
- Применить
Теперь вам нужно включить статические библиотеки.Какие бы библиотеки SFML вы не использовали в своем проекте, но добавляете "-s"
Например, комментарий #pragma (lib, "sfml-graphics-s.lib")
SFML используетopenal32.lib и из-за лицензирования вам нужно будет иметь эту DLL в папке с вашим exe
#ifndef SFML_STATIC
#pragma comment(lib,"sfml-graphics-s.lib")
#pragma comment(lib,"freetype.lib")
#pragma comment(lib,"opengl32.lib")
#pragma comment(lib,"sfml-system-s.lib")
#pragma comment(lib,"winmm.lib")
#pragma comment(lib,"sfml-window-s.lib")
#pragma comment(lib,"gdi32")
#pragma comment(lib,"winmm")
#pragma comment(lib,"sfml-audio-s.lib")
#pragma comment(lib,"flac.lib")
#pragma comment(lib,"ogg.lib")
#pragma comment(lib,"vorbisenc.lib")
#pragma comment(lib,"vorbisfile.lib")
#pragma comment(lib,"vorbis.lib")
#pragma comment(lib,"openal32.lib")
#pragma comment(lib,"sfml-main.lib")
#pragma comment(lib,"sfml-network-s.lib")
#pragma comment(lib,"ws2_32.lib")
#pragma comment(lib,"openal32.lib")
//include below line if you want to hide console window
#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")
#endif // !SFML_STATIC
Ссылка на SFML FAQ, показывающая, что вам нужно включить для каждой библиотеки, когдастатическое связывание