• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[C++][SFML] Błędy w klasie Sound podczas kompilowania

VPS Starter Arubacloud
0 głosów
809 wizyt
pytanie zadane 20 stycznia 2019 w C i C++ przez wojtij99 Użytkownik (630 p.)

Witam!

Tak jak w temacie kompilator wyrzucam mi następujące błędy:

1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alSourcef przywołany w funkcji "public: void __thiscall sf::Sound::setPlayingOffset(class sf::Time)" (?setPlayingOffset@Sound@sf@@QAEXVTime@2@@Z)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2001: nierozpoznany symbol zewnętrzny __imp__alSourcef
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alSourcei przywołany w funkcji "public: void __thiscall sf::Sound::setBuffer(class sf::SoundBuffer const &)" (?setBuffer@Sound@sf@@QAEXABVSoundBuffer@2@@Z)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2001: nierozpoznany symbol zewnętrzny __imp__alSourcei
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alGetSourcef przywołany w funkcji "public: class sf::Time __thiscall sf::Sound::getPlayingOffset(void)const " (?getPlayingOffset@Sound@sf@@QBE?AVTime@2@XZ)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2001: nierozpoznany symbol zewnętrzny __imp__alGetSourcef
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alGetSourcei przywołany w funkcji "public: bool __thiscall sf::Sound::getLoop(void)const " (?getLoop@Sound@sf@@QBE_NXZ)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2001: nierozpoznany symbol zewnętrzny __imp__alGetSourcei
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alSourcePlay przywołany w funkcji "public: virtual void __thiscall sf::Sound::play(void)" (?play@Sound@sf@@UAEXXZ)
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alSourceStop przywołany w funkcji "public: virtual void __thiscall sf::Sound::stop(void)" (?stop@Sound@sf@@UAEXXZ)
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alSourcePause przywołany w funkcji "public: virtual void __thiscall sf::Sound::pause(void)" (?pause@Sound@sf@@UAEXXZ)
1>sfml-audio-s-d.lib(SoundBuffer.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alGenBuffers przywołany w funkcji "public: __thiscall sf::SoundBuffer::SoundBuffer(void)" (??0SoundBuffer@sf@@QAE@XZ)
1>sfml-audio-s-d.lib(SoundBuffer.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alDeleteBuffers przywołany w funkcji "public: __thiscall sf::SoundBuffer::~SoundBuffer(void)" (??1SoundBuffer@sf@@QAE@XZ)
1>sfml-audio-s-d.lib(SoundBuffer.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alBufferData przywołany w funkcji "private: bool __thiscall sf::SoundBuffer::update(unsigned int,unsigned int)" (?update@SoundBuffer@sf@@AAE_NII@Z)
1>sfml-audio-s-d.lib(SoundBuffer.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alGetBufferi przywołany w funkcji "public: unsigned int __thiscall sf::SoundBuffer::getSampleRate(void)const " (?getSampleRate@SoundBuffer@sf@@QBEIXZ)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alGenSources przywołany w funkcji "public: __thiscall sf::SoundSource::SoundSource(class sf::SoundSource const &)" (??0SoundSource@sf@@QAE@ABV01@@Z)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alDeleteSources przywołany w funkcji "public: virtual __thiscall sf::SoundSource::~SoundSource(void)" (??1SoundSource@sf@@UAE@XZ)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alSource3f przywołany w funkcji "public: void __thiscall sf::SoundSource::setPosition(float,float,float)" (?setPosition@SoundSource@sf@@QAEXMMM@Z)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alGetSource3f przywołany w funkcji "public: class sf::Vector3<float> __thiscall sf::SoundSource::getPosition(void)const " (?getPosition@SoundSource@sf@@QBE?AV?$Vector3@M@2@XZ)
1>sfml-audio-s-d.lib(ALCheck.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alGetError przywołany w funkcji "void __cdecl sf::priv::alCheckError(char const *,unsigned int,char const *)" (?alCheckError@priv@sf@@YAXPBDI0@Z)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alIsExtensionPresent przywołany w funkcji "public: static bool __cdecl sf::priv::AudioDevice::isExtensionSupported(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?isExtensionSupported@AudioDevice@priv@sf@@SA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alGetEnumValue przywołany w funkcji "public: static int __cdecl sf::priv::AudioDevice::getFormatFromChannelCount(unsigned int)" (?getFormatFromChannelCount@AudioDevice@priv@sf@@SAHI@Z)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alListenerf przywołany w funkcji "public: __thiscall sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QAE@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alListener3f przywołany w funkcji "public: __thiscall sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QAE@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alListenerfv przywołany w funkcji "public: __thiscall sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QAE@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alcCreateContext przywołany w funkcji "public: __thiscall sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QAE@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alcMakeContextCurrent przywołany w funkcji "public: __thiscall sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QAE@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alcDestroyContext przywołany w funkcji "public: __thiscall sf::priv::AudioDevice::~AudioDevice(void)" (??1AudioDevice@priv@sf@@QAE@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alcOpenDevice przywołany w funkcji "public: __thiscall sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QAE@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alcCloseDevice przywołany w funkcji "public: __thiscall sf::priv::AudioDevice::~AudioDevice(void)" (??1AudioDevice@priv@sf@@QAE@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: nierozpoznany zewnętrzny symbol __imp__alcIsExtensionPresent przywołany w funkcji "public: static bool __cdecl sf::priv::AudioDevice::isExtensionSupported(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?isExtensionSupported@AudioDevice@priv@sf@@SA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)

Oczywiście w ustawieniach w linkerze jest : "sfml-audio-s-d.lib ".

Z góry dzięki.

komentarz 20 stycznia 2019 przez adrian17 Ekspert (344,100 p.)
pokaż poproszę całe ustawienia linkera.
komentarz 20 stycznia 2019 przez wojtij99 Użytkownik (630 p.)

w danych wejściowych dodałem wszystko co było na stronie SFML'a

komentarz 20 stycznia 2019 przez adrian17 Ekspert (344,100 p.)
Pokaż same opcje linkera, te z sfml-audio-s-d.lib
komentarz 20 stycznia 2019 przez wojtij99 Użytkownik (630 p.)

Zawartość dodatkowych zależności:

kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
sfml-graphics-s-d.lib
sfml-window-s-d.lib
sfml-system-s-d.lib
sfml-audio-s-d.lib
opengl32.lib
freetype.lib
winmm.lib
flac.lib
vorbisenc.lib
vorbisfile.lib
vorbis.lib
ogg.lib
ws2_32.lib

2 odpowiedzi

+1 głos
odpowiedź 21 stycznia 2019 przez adrian17 Ekspert (344,100 p.)
wybrane 21 stycznia 2019 przez wojtij99
 
Najlepsza

https://www.sfml-dev.org/tutorials/2.5/start-vc.php

Starting from SFML 2.2, when static linking, you will have to link all of SFML's dependencies to your project as well

Błędy linkera dotyczą openAL. Musisz dodać openal32.lib etc.

(albo po prostu nie linkować statycznie, to tylko dodaje utrudnienia za niewielkie (dla niektórych ujemne) zyski.)

komentarz 21 stycznia 2019 przez wojtij99 Użytkownik (630 p.)
Dzięki! Działa trzeba było przekopiować jeszcze tą bibliotekę do folderu z projektem.
0 głosów
odpowiedź 20 stycznia 2019 przez adrian17 Ekspert (344,100 p.)
(W sensie, samo okno edycji wystarczyło...)

Spróbuj wrzucić audio wyżej, między graphics a window.
komentarz 20 stycznia 2019 przez wojtij99 Użytkownik (630 p.)
Niestety nie działa :(

Podobne pytania

0 głosów
0 odpowiedzi 106 wizyt
pytanie zadane 15 grudnia 2018 w C i C++ przez XxThorusxX Użytkownik (500 p.)
0 głosów
0 odpowiedzi 191 wizyt
pytanie zadane 17 czerwca 2017 w C i C++ przez PClove Początkujący (310 p.)
0 głosów
2 odpowiedzi 406 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...