You can't mix and match static and dynamic linking of SFML, it's either static or dynamic
Honestly, I never tried mixing static and dynamic linking of SFML, except in this case, when I exhausted tons of other ideas.
This is the first time using SFML from MSYS2 and this is the reason I went ahead and created an account here and posted my observations. Over the years, I normally would compile SFML with my favorite compiler so I could avoid such problems. However, since I have used many libraries and apps from MSYS2 without issues, I never thought I would have any with SFML since I assume it was compiled with the latest GCC compiler toolchain they provide as well.
(side note) I recognized the errors I was getting and knew it was a linker issue.
What didn't work?
In Code::Blocks, under
PROJECT > PROJECT BUILD OPTIONS > RELEASE > LINKER SETTINGS > LINK LIBRARIES, if I use
sfml-audio-s, I get the following errors:
Build started on: 04-07-2024 at 19:11.50
Build ended on: 04-07-2024 at 19:11.56
-------------- Build: Release in SFML-Audio-Test-v1 (compiler: GNU GCC Compiler)---------------
g++.exe -Wall -O2 -Wall -m64 -std=c++23 -DSFML_STATIC -IC:\msys64\ucrt64\lib -IC:\msys64\ucrt64\include -c "D:\tjp\0010a - C++ and C\WALTERSMIND - SFML\SFML-2.6.1-Examples\SFML-Audio-Test-v1\SFML-Audio-Test-v1.cpp" -o obj\Release\SFML-Audio-Test-v1.o
g++.exe -LC:\msys64\ucrt64\include -LC:\msys64\ucrt64\lib -o bin\Release\SFML-Audio-Test-v1.exe obj\Release\SFML-Audio-Test-v1.o -s -m64 -lsfml-system-s -lsfml-audio-s -lwinmm
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x2a): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0xa7): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x10e): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x13d): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x151): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x165): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x19f): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x1ef): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x238): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x26f): undefined reference to "sf::Mutex::~Mutex()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x2cf): undefined reference to "sf::Mutex::~Mutex()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x363): undefined reference to "sf::Mutex::Mutex()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x55a): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x729): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(Music.cpp.obj):(.text+0x749): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(InputSoundFile.cpp.obj):(.text+0xe8): undefined reference to "sf::FileInputStream::FileInputStream()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(InputSoundFile.cpp.obj):(.text+0xfb): undefined reference to "sf::FileInputStream::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(InputSoundFile.cpp.obj):(.text+0x22f): undefined reference to "sf::MemoryInputStream::MemoryInputStream()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(InputSoundFile.cpp.obj):(.text+0x245): undefined reference to "sf::MemoryInputStream::open(void const*, unsigned long long)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(InputSoundFile.cpp.obj):(.text+0x3a1): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x36): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x42): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x4b): undefined reference to "sf::Thread::wait()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x86): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x9b): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xab): undefined reference to "__imp_alSourcePause'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xb4): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xe8): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xf8): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x13a): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x14a): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x152): undefined reference to "sf::Thread::wait()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x191): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x227): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x237): undefined reference to "__imp_alSourcePlay'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x23f): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x29a): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x308): undefined reference to "sf::Mutex::Mutex()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x373): undefined reference to "sf::Mutex::~Mutex()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x37f): undefined reference to "sf::Thread::~Thread()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x3b4): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x3c4): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x3cc): undefined reference to "sf::Thread::wait()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x3d4): undefined reference to "sf::Mutex::~Mutex()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x3dc): undefined reference to "sf::Thread::~Thread()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x414): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x424): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x42c): undefined reference to "sf::Thread::wait()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x434): undefined reference to "sf::Mutex::~Mutex()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x43c): undefined reference to "sf::Thread::~Thread()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x4a1): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x5b7): undefined reference to "__imp_alGetSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x7d7): undefined reference to "__imp_alBufferData'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x7ea): undefined reference to "__imp_alSourceQueueBuffers'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x8fa): undefined reference to "__imp_alGetSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x909): undefined reference to "__imp_alSourceUnqueueBuffers'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x96d): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x97e): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x9b6): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x9d0): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x9de): undefined reference to "__imp_alGenBuffers'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xa20): undefined reference to "__imp_alSourcePlay'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xa35): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xa4a): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xa6f): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xa88): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xac4): undefined reference to "__imp_alGetSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xae8): undefined reference to "__imp_alSourceUnqueueBuffers'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xc28): undefined reference to "__imp_alBufferData'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xc3c): undefined reference to "__imp_alSourceQueueBuffers'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xc8c): undefined reference to "__imp_alGetBufferi'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xca0): undefined reference to "__imp_alGetBufferi'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xd02): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xd0f): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xd4a): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xdb8): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xdc5): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xdf1): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xdfb): undefined reference to "__imp_alSourceStop'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xe0f): undefined reference to "__imp_alGetSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xe1a): undefined reference to "__imp_alSourceUnqueueBuffers'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xe53): undefined reference to "__imp_alSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xe75): undefined reference to "__imp_alDeleteBuffers'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xeb0): undefined reference to "__imp_alSourcePause'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xec1): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xee6): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xf59): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xf65): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xf6e): undefined reference to "sf::Thread::wait()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0xfd9): undefined reference to "sf::Thread::launch()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x1015): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x1026): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundStream.cpp.obj):(.text+0x182): undefined reference to "sf::Thread::launch()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0x703): undefined reference to "sf::MemoryInputStream::MemoryInputStream()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0x711): undefined reference to "sf::MemoryInputStream::open(void const*, unsigned long long)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0x743): undefined reference to "sf::MemoryInputStream::seek(long long)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0x761): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0x861): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0x959): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0xa40): undefined reference to "sf::FileInputStream::FileInputStream()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0xa4b): undefined reference to "sf::FileInputStream::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0xa83): undefined reference to "sf::FileInputStream::seek(long long)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0xa9a): undefined reference to "sf::FileInputStream::~FileInputStream()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0xab1): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0xb71): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileFactory.cpp.obj):(.text+0xbdd): undefined reference to "sf::FileInputStream::~FileInputStream()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x18d): undefined reference to "FLAC__stream_decoder_seek_absolute'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x196): undefined reference to "FLAC__stream_decoder_skip_single_frame'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x1cc): undefined reference to "FLAC__stream_decoder_finish'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x1d5): undefined reference to "FLAC__stream_decoder_delete'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x22c): undefined reference to "FLAC__stream_decoder_finish'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x235): undefined reference to "FLAC__stream_decoder_delete'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x2f5): undefined reference to "FLAC__stream_decoder_process_single'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x302): undefined reference to "FLAC__stream_decoder_get_state'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x421): undefined reference to "FLAC__stream_decoder_new'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x494): undefined reference to "FLAC__stream_decoder_init_stream'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x49d): undefined reference to "FLAC__stream_decoder_process_until_end_of_metadata'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x4c9): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x562): undefined reference to "FLAC__stream_decoder_finish'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x56b): undefined reference to "FLAC__stream_decoder_delete'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x578): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x5ad): undefined reference to "FLAC__stream_decoder_new'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x63b): undefined reference to "FLAC__stream_decoder_init_stream'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x643): undefined reference to "FLAC__stream_decoder_process_until_end_of_metadata'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x64d): undefined reference to "FLAC__stream_decoder_finish'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x655): undefined reference to "FLAC__stream_decoder_delete'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x722): undefined reference to "FLAC__stream_decoder_finish'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x72b): undefined reference to "FLAC__stream_decoder_delete'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderFlac.cpp.obj):(.text+0x17a): undefined reference to "FLAC__stream_decoder_seek_absolute'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderOgg.cpp.obj):(.text+0x11b): undefined reference to "ov_read'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderOgg.cpp.obj):(.text+0x15e): undefined reference to "ov_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderOgg.cpp.obj):(.text+0x1c3): undefined reference to "ov_open_callbacks'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderOgg.cpp.obj):(.text+0x1d4): undefined reference to "ov_info'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderOgg.cpp.obj):(.text+0x1ec): undefined reference to "ov_pcm_total'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderOgg.cpp.obj):(.text+0x219): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderOgg.cpp.obj):(.text+0x2ba): undefined reference to "ov_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderOgg.cpp.obj):(.text+0x30b): undefined reference to "ov_test_callbacks'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderOgg.cpp.obj):(.text+0x324): undefined reference to "ov_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderOgg.cpp.obj):(.text+0x384): undefined reference to "ov_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderOgg.cpp.obj):(.text+0xb7): undefined reference to "ov_pcm_seek'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderWav.cpp.obj):(.text+0x592): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderWav.cpp.obj):(.text+0x5d5): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderWav.cpp.obj):(.text+0x623): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileReaderWav.cpp.obj):(.text+0x6d1): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x192): undefined reference to "FLAC__stream_encoder_process_interleaved'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x54c): undefined reference to "FLAC__stream_encoder_finish'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x555): undefined reference to "FLAC__stream_encoder_delete'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x5ac): undefined reference to "FLAC__stream_encoder_finish'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x5b5): undefined reference to "FLAC__stream_encoder_delete'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x605): undefined reference to "FLAC__stream_encoder_new'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x618): undefined reference to "FLAC__stream_encoder_set_channels'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x626): undefined reference to "FLAC__stream_encoder_set_bits_per_sample'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x631): undefined reference to "FLAC__stream_encoder_set_sample_rate'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x643): undefined reference to "FLAC__stream_encoder_init_file'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x661): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x6e9): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x76c): undefined reference to "FLAC__stream_encoder_finish'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x775): undefined reference to "FLAC__stream_encoder_delete'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x9c2): undefined reference to "FLAC__stream_encoder_finish'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterFlac.cpp.obj):(.text+0x9cb): undefined reference to "FLAC__stream_encoder_delete'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x1ab): undefined reference to "vorbis_block_init'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x1b7): undefined reference to "vorbis_analysis_blockout'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x1cb): undefined reference to "vorbis_analysis'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x1da): undefined reference to "vorbis_bitrate_addblock'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x1e7): undefined reference to "vorbis_bitrate_flushpacket'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x1fb): undefined reference to "ogg_stream_packetin'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x207): undefined reference to "ogg_stream_flush'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x239): undefined reference to "vorbis_block_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x29f): undefined reference to "vorbis_analysis_buffer'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x314): undefined reference to "vorbis_analysis_wrote'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x3cd): undefined reference to "ogg_stream_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x3d5): undefined reference to "vorbis_dsp_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x3e1): undefined reference to "vorbis_info_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x472): undefined reference to "vorbis_analysis_wrote'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x52d): undefined reference to "ogg_stream_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x535): undefined reference to "vorbis_dsp_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x541): undefined reference to "vorbis_info_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x5e2): undefined reference to "vorbis_analysis_wrote'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x66c): undefined reference to "ogg_stream_init'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x674): undefined reference to "vorbis_info_init'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x689): undefined reference to "vorbis_encode_init_vbr'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x6ab): undefined reference to "vorbis_analysis_init'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x6f2): undefined reference to "vorbis_comment_init'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x729): undefined reference to "vorbis_analysis_headerout'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x735): undefined reference to "vorbis_comment_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x756): undefined reference to "ogg_stream_packetin'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x763): undefined reference to "ogg_stream_packetin'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x770): undefined reference to "ogg_stream_packetin'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x7b1): undefined reference to "ogg_stream_flush'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x7d9): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x868): undefined reference to "ogg_stream_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x870): undefined reference to "vorbis_dsp_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x878): undefined reference to "vorbis_info_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x889): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x923): undefined reference to "ogg_stream_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x92b): undefined reference to "vorbis_dsp_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x933): undefined reference to "vorbis_info_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0x9c9): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0xa16): undefined reference to "vorbis_analysis_wrote'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0xa5a): undefined reference to "vorbis_analysis_wrote'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0xacb): undefined reference to "ogg_stream_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0xad3): undefined reference to "vorbis_dsp_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0xafa): undefined reference to "vorbis_analysis_wrote'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterOgg.cpp.obj):(.text+0xae7): undefined reference to "vorbis_info_clear'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterWav.cpp.obj):(.text+0x681): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundFileWriterWav.cpp.obj):(.text+0x751): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x8): undefined reference to "__imp_alcMakeContextCurrent'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x1a): undefined reference to "__imp_alcDestroyContext'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x2c): undefined reference to "__imp_alcCloseDevice'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x4a): undefined reference to "__imp_alcOpenDevice'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x65): undefined reference to "__imp_alcCreateContext'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x7e): undefined reference to "__imp_alcMakeContextCurrent'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0xd3): undefined reference to "__imp_alListenerf'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0xf6): undefined reference to "__imp_alListener3f'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x106): undefined reference to "__imp_alListenerfv'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x119): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x171): undefined reference to "sf::err()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x1c8): undefined reference to "__imp_alcMakeContextCurrent'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x1da): undefined reference to "__imp_alcDestroyContext'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x1ec): undefined reference to "__imp_alcCloseDevice'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x229): undefined reference to "__imp_alListenerf'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x277): undefined reference to "__imp_alListener3f'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x30e): undefined reference to "__imp_alListenerfv'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x3a1): undefined reference to "__imp_alListenerfv'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x427): undefined reference to "__imp_alIsExtensionPresent'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x430): undefined reference to "__imp_alcMakeContextCurrent'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x43a): undefined reference to "__imp_alcDestroyContext'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x441): undefined reference to "__imp_alcCloseDevice'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x4cf): undefined reference to "__imp_alcIsExtensionPresent'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x5f1): undefined reference to "__imp_alGetEnumValue'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x60a): undefined reference to "__imp_alcMakeContextCurrent'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x611): undefined reference to "__imp_alcDestroyContext'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x61b): undefined reference to "__imp_alcCloseDevice'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x699): undefined reference to "__imp_alGetEnumValue'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x6b9): undefined reference to "__imp_alGetEnumValue'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text+0x6d9): undefined reference to "__imp_alGetEnumValue'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text$_ZNSt6vectorIN2sf4priv11AudioDeviceESaIS2_EED1Ev[_ZNSt6vectorIN2sf4priv11AudioDeviceESaIS2_EED1Ev]+0x1e): undefined reference to "__imp_alcMakeContextCurrent'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text$_ZNSt6vectorIN2sf4priv11AudioDeviceESaIS2_EED1Ev[_ZNSt6vectorIN2sf4priv11AudioDeviceESaIS2_EED1Ev]+0x25): undefined reference to "__imp_alcDestroyContext'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AudioDevice.cpp.obj):(.text$_ZNSt6vectorIN2sf4priv11AudioDeviceESaIS2_EED1Ev[_ZNSt6vectorIN2sf4priv11AudioDeviceESaIS2_EED1Ev]+0x2c): undefined reference to "__imp_alcCloseDevice'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x13): undefined reference to "__imp_alGetSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x63): undefined reference to "__imp_alGenSources'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x74): undefined reference to "__imp_alSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0xcc): undefined reference to "__imp_alGenSources'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0xd6): undefined reference to "__imp_alSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0xf5): undefined reference to "__imp_alGetSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x10c): undefined reference to "__imp_alSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x173): undefined reference to "__imp_alGetSource3f'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x199): undefined reference to "__imp_alSource3f'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x1ac): undefined reference to "__imp_alGetSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x24f): undefined reference to "__imp_alSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x25e): undefined reference to "__imp_alDeleteSources'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x28f): undefined reference to "__imp_alSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x29e): undefined reference to "__imp_alDeleteSources'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x2ce): undefined reference to "__imp_alSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x2f7): undefined reference to "__imp_alSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x31a): undefined reference to "__imp_alSource3f'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x352): undefined reference to "__imp_alSource3f'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x36f): undefined reference to "__imp_alSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x38e): undefined reference to "__imp_alSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x3ae): undefined reference to "__imp_alSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x3d3): undefined reference to "__imp_alGetSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x403): undefined reference to "__imp_alGetSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x450): undefined reference to "__imp_alGetSource3f'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x473): undefined reference to "__imp_alGetSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x4a3): undefined reference to "__imp_alGetSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x4d3): undefined reference to "__imp_alGetSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x4fd): undefined reference to "__imp_alGetSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x51d): undefined reference to "__imp_alSourcef'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x58c): undefined reference to "__imp_alGetSource3f'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x5b2): undefined reference to "__imp_alSource3f'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x5c3): undefined reference to "__imp_alGetSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(SoundSource.cpp.obj):(.text+0x5df): undefined reference to "__imp_alSourcei'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AlResource.cpp.obj):(.text+0x27): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AlResource.cpp.obj):(.text+0x64): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AlResource.cpp.obj):(.text+0x8a): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AlResource.cpp.obj):(.text+0xb6): undefined reference to "sf::Lock::Lock(sf::Mutex&)'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AlResource.cpp.obj):(.text+0xe8): undefined reference to "sf::Lock::~Lock()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AlResource.cpp.obj):(.text+0x8): undefined reference to "sf::Mutex::~Mutex()'
C:\msys64\ucrt64\lib/libsfml-audio-s.a(AlResource.cpp.obj):(.text.startup+0xc): undefined reference to "sf::Mutex::Mutex()'
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 5 second(s))
280 error(s), 0 warning(s) (0 minute(s), 5 second(s))
I fought these types of errors for many hours. When I was about to just compile a copy of SFML, I decided, just for fun, to try and use the dynamic linking of that library (by replacing
SFML-AUDIO-S with
SFML-AUDIO.DLL). Boom! It worked. I could run the executable on my machine, outside of Code::Blocks and it worked. However, when I copied it over to another machine and ran it, I received popup error messages telling me I needed certain DLL files. The list in my previous post shows all the ones I needed to make my test demo work.
I don't know who creates/maintains the MSYS2 package for SFML
https://www.msys2.org/If you have ever coded in a Linux Distro, then you will love MSYS2. It's like using Linux but in Windows. My favorite part of MSYS2 is unlike Ubuntu and some others, MSYS2 provides completely up-to-date libraries and apps. Ubuntu provides GCC v13.3 while MSYS2 provides GCC v14.1.0.
Usually, we're linking the audio dependencies statically, but in this case it seems they've patched SFML's build system to link the dependencies dynamically, thus requiring you to provide flac, vorbis, etc. as DLLs.
I'm not sure either, but I just discovered something on MSYS2's website (while writing this post) that might give us a clue into the possible issue:
2024-05-10 - GCC 14.1
We have updated GCC to version 14.1. See the GCC 14.1 release notes for more information. Similar to recent Clang releases, GCC also got stricter and multiple warnings are now errors by default, see the GCC 14.1 porting guide for details.
I'm grasping at straws on that, but it is something of interest that I might look into.
Personally I tend to use something like the SFML CMake Template that also builds SFML for me, so I don't have to worry about compile compatibility or wonder how the binaries were built.
As I mentioned earlier, normally I would compile SFML with my favorite compiler toolchain. However, since I work with a lot of less-experienced, and sometimes lazy individuals, Code::Blocks seems to be the right fit to help them grow (even a little) without overwhelming them. Since MSYS2 provides up-to-date libraries I commonly use on Windows and Linux, and provides quick-and-easy access to beginners by offering them all as precompiled, it is the system I choose to use with others.
Not to be spamming, but my brand, "The Joyful Programmer" is primarily about working and socializing with "Computer Programming Hobbyists, Tinkerers, Amateurs, and Enthusiasts". This is why I chose to use things like Code::Blocks and MSYS2.
I generally don't join communities of the products and tools I use. I simply don't have the time or energy to do so. However, I have been using SFML since 2016 and do get emails when people post issues and responses on SFML's GitHub repository.