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

Linker SFML sf::Audio VS2015

Object Storage Arubacloud
0 głosów
535 wizyt
pytanie zadane 25 września 2017 w C i C++ przez Agata Kolber Nowicjusz (220 p.)

Przerabiam tutorial z biblioteki SFML. Niestety, gdy dodałam obsługę audio mój program przestał działać. Pokazuje mi się wiele błędów typu:

LNK2019    unresolved external symbol __imp_alGenSources referenced in function "public: __cdecl sf::SoundSource::SoundSource(class sf::SoundSource const &)" (??0SoundSource@sf@@QEAA@AEBV01@@Z)  

Bibliotekę mam zalinkowaną statycznie.

Dla release w inpucie mam:

  • sfml-graphics-s.lib
  • sfml-window-s.lib
  • sfml-system-s.lib
  • sfml-audio-s.lib
  • sfml-network-s.lib
  • opengl32.lib
  • freetype.lib
  • jpeg.lib
  • winmm.lib
  • gdi32.lib
  • flac.lib
  • vorbisenc.lib
  • vorbisfile.lib
  • vorbis.lib
  • ogg.lib
  • ws2_32.lib

Dla debug w inpucie mam: 

  • sfml-graphics-s-d.lib
  • sfml-window-s-d.lib
  • sfml-system-s-d.lib
  • sfml-audio-s-d.lib
  • sfml-network-s-d.lib
  • opengl32.lib
  • freetype.lib
  • jpeg.lib
  • winmm.lib
  • gdi32.lib
  • flac.lib
  • vorbisenc.lib
  • vorbisfile.lib
  • vorbis.lib
  • ogg.lib
  • ws2_32.lib

No i w preprocesorze dodane:

  • SFML_STATIC

Plik openal32.dll dodany w mojProgram/64/Debug/. Nie jestem pewna czy prawidłowo, ale próbowałam również innych lokalizacji.

Macie może jakiś pomysł co może być nie tak? Z góry dziękuję za wszystkie odpowiedzi.

 

komentarz 25 września 2017 przez Ehlert Ekspert (212,670 p.)
Podaj system, środowisko developerskie i architekturę, pod którą kompilujesz.
komentarz 25 września 2017 przez Agata Kolber Nowicjusz (220 p.)
Pracuję na Windows 10 w Visual Studio 2015. Poniżej link to tutorialu, w którym skończyłam na lekcji 5 oraz link do pobrania samego kodu.

http://szymonsiarkiewicz.pl/tag/piszemy-gre-w-sfmlu/

https://sites.google.com/site/sheadovasdatabase/piszemy-gre-w-sfml-u/Lekcja%205.zip?attredirects=0

1 odpowiedź

0 głosów
odpowiedź 25 września 2017 przez MetGang Nałogowiec (34,360 p.)

Linkowanie statyczne SFMLa to nie lada wyzwanie, a przynajmniej strasznie dużo ludzi ma z nim problem.

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

Zejdź do tabelki, gdzie przedstawiony jest moduł oraz jego zależności. Podpowiem, że każdy moduł musi mieć po sobie zlinkowane swoje zależności bez znaczenia czy były one wcześniej zlinkowane. Tak więc Twój input będzie znacznie dłuższy.

komentarz 25 września 2017 przez Agata Kolber Nowicjusz (220 p.)
edycja 25 września 2017 przez Agata Kolber
Czyli coś takiego jak poniżej dla release?

sfml-graphics-s.lib
sfml-window-s.lib
sfml-system-s.lib
opengl32.lib
freetype.lib
jpeg.lib

sfml-window-s.lib
sfml-system-s.lib
opengl32.lib
winmm.lib
gdi32.lib

sfml-audio-s.lib
sfml-system-s.lib
opengl32.lib
flac.lib
vorbisenc.lib
vorbisfile.lib
vorbis.lib
ogg.lib

sfml-network-s.lib
sfml-system-s.lib
ws2_32.lib

sfml-system-s.lib
winmm.lib

Tak właśnie zrobiłam i dla release i dla debug. Niestety to nie pomogło.
komentarz 25 września 2017 przez MetGang Nałogowiec (34,360 p.)
Nadal jest to ten sam błąd i czy jest on jedyny? Warto też sprawdzić zgodność wersji biblioteki i kompilatora.
komentarz 25 września 2017 przez Agata Kolber Nowicjusz (220 p.)
Nie jest to jeden błąd. Wszystkie są mniej więcej takie same, więc nie wiedziałam czy jej sense je wszystkie kopiować. Jeśli chodzi o zgodność wersji to specjalnie robię projekt na VS2015, bo na VS2017 nie było jeszcze odpowiedniej wersji biblioteki. Wygląda to tak jak poniżej i są to takie same błędy jak poprzednio.

1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: unresolved external symbol __imp_alGenSources referenced in function "public: __cdecl sf::SoundSource::SoundSource(class sf::SoundSource const &)" (??0SoundSource@sf@@QEAA@AEBV01@@Z)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: unresolved external symbol __imp_alDeleteSources referenced in function "public: virtual __cdecl sf::SoundSource::~SoundSource(void)" (??1SoundSource@sf@@UEAA@XZ)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: unresolved external symbol __imp_alSourcef referenced in function "public: void __cdecl sf::SoundSource::setPitch(float)" (?setPitch@SoundSource@sf@@QEAAXM@Z)
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2001: unresolved external symbol __imp_alSourcef
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: unresolved external symbol __imp_alSource3f referenced in function "public: void __cdecl sf::SoundSource::setPosition(float,float,float)" (?setPosition@SoundSource@sf@@QEAAXMMM@Z)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: unresolved external symbol __imp_alSourcei referenced in function "public: __cdecl sf::SoundSource::SoundSource(class sf::SoundSource const &)" (??0SoundSource@sf@@QEAA@AEBV01@@Z)
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2001: unresolved external symbol __imp_alSourcei
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2001: unresolved external symbol __imp_alSourcei
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: unresolved external symbol __imp_alGetSourcef referenced in function "public: float __cdecl sf::SoundSource::getPitch(void)const " (?getPitch@SoundSource@sf@@QEBAMXZ)
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2001: unresolved external symbol __imp_alGetSourcef
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2001: unresolved external symbol __imp_alGetSourcef
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: unresolved external symbol __imp_alGetSource3f referenced in function "public: class sf::Vector3<float> __cdecl sf::SoundSource::getPosition(void)const " (?getPosition@SoundSource@sf@@QEBA?AV?$Vector3@M@2@XZ)
1>sfml-audio-s-d.lib(SoundSource.cpp.obj) : error LNK2019: unresolved external symbol __imp_alGetSourcei referenced in function "public: bool __cdecl sf::SoundSource::isRelativeToListener(void)const " (?isRelativeToListener@SoundSource@sf@@QEBA_NXZ)
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2001: unresolved external symbol __imp_alGetSourcei
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2001: unresolved external symbol __imp_alGetSourcei
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2019: unresolved external symbol __imp_alSourcePlay referenced in function "public: void __cdecl sf::SoundStream::play(void)" (?play@SoundStream@sf@@QEAAXXZ)
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2001: unresolved external symbol __imp_alSourcePlay
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2019: unresolved external symbol __imp_alSourceStop referenced in function "private: void __cdecl sf::SoundStream::streamData(void)" (?streamData@SoundStream@sf@@AEAAXXZ)
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2001: unresolved external symbol __imp_alSourceStop
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2019: unresolved external symbol __imp_alSourcePause referenced in function "public: void __cdecl sf::SoundStream::pause(void)" (?pause@SoundStream@sf@@QEAAXXZ)
1>sfml-audio-s-d.lib(Sound.cpp.obj) : error LNK2001: unresolved external symbol __imp_alSourcePause
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2019: unresolved external symbol __imp_alSourceQueueBuffers referenced in function "private: bool __cdecl sf::SoundStream::fillAndPushBuffer(unsigned int)" (?fillAndPushBuffer@SoundStream@sf@@AEAA_NI@Z)
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2019: unresolved external symbol __imp_alSourceUnqueueBuffers referenced in function "private: void __cdecl sf::SoundStream::streamData(void)" (?streamData@SoundStream@sf@@AEAAXXZ)
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2019: unresolved external symbol __imp_alGenBuffers referenced in function "private: void __cdecl sf::SoundStream::streamData(void)" (?streamData@SoundStream@sf@@AEAAXXZ)
1>sfml-audio-s-d.lib(SoundBuffer.cpp.obj) : error LNK2001: unresolved external symbol __imp_alGenBuffers
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2019: unresolved external symbol __imp_alDeleteBuffers referenced in function "private: void __cdecl sf::SoundStream::streamData(void)" (?streamData@SoundStream@sf@@AEAAXXZ)
1>sfml-audio-s-d.lib(SoundBuffer.cpp.obj) : error LNK2001: unresolved external symbol __imp_alDeleteBuffers
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2019: unresolved external symbol __imp_alBufferData referenced in function "private: bool __cdecl sf::SoundStream::fillAndPushBuffer(unsigned int)" (?fillAndPushBuffer@SoundStream@sf@@AEAA_NI@Z)
1>sfml-audio-s-d.lib(SoundBuffer.cpp.obj) : error LNK2001: unresolved external symbol __imp_alBufferData
1>sfml-audio-s-d.lib(SoundStream.cpp.obj) : error LNK2019: unresolved external symbol __imp_alGetBufferi referenced in function "private: void __cdecl sf::SoundStream::streamData(void)" (?streamData@SoundStream@sf@@AEAAXXZ)
1>sfml-audio-s-d.lib(SoundBuffer.cpp.obj) : error LNK2001: unresolved external symbol __imp_alGetBufferi
1>sfml-audio-s-d.lib(ALCheck.cpp.obj) : error LNK2019: unresolved external symbol __imp_alGetError referenced in function "void __cdecl sf::priv::alCheckError(char const *,unsigned int,char const *)" (?alCheckError@priv@sf@@YAXPEBDI0@Z)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: unresolved external symbol __imp_alIsExtensionPresent referenced in function "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_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: unresolved external symbol __imp_alGetEnumValue referenced in function "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: unresolved external symbol __imp_alListenerf referenced in function "public: __cdecl sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QEAA@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: unresolved external symbol __imp_alListener3f referenced in function "public: __cdecl sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QEAA@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: unresolved external symbol __imp_alListenerfv referenced in function "public: __cdecl sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QEAA@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: unresolved external symbol __imp_alcCreateContext referenced in function "public: __cdecl sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QEAA@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: unresolved external symbol __imp_alcMakeContextCurrent referenced in function "public: __cdecl sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QEAA@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: unresolved external symbol __imp_alcDestroyContext referenced in function "public: __cdecl sf::priv::AudioDevice::~AudioDevice(void)" (??1AudioDevice@priv@sf@@QEAA@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: unresolved external symbol __imp_alcOpenDevice referenced in function "public: __cdecl sf::priv::AudioDevice::AudioDevice(void)" (??0AudioDevice@priv@sf@@QEAA@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: unresolved external symbol __imp_alcCloseDevice referenced in function "public: __cdecl sf::priv::AudioDevice::~AudioDevice(void)" (??1AudioDevice@priv@sf@@QEAA@XZ)
1>sfml-audio-s-d.lib(AudioDevice.cpp.obj) : error LNK2019: unresolved external symbol __imp_alcIsExtensionPresent referenced in function "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_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>C:\Users\Cinu\Documents\Visual Studio 2015\Projects\Udemy_kurs\PlatformowkaSMFL\x64\Debug\PlatformowkaSMFL.exe : fatal error LNK1120: 29 unresolved externals
komentarz 26 września 2017 przez j23 Mędrzec (194,920 p.)
A ten SFML jest w wersji 64-bitowej?
komentarz 26 września 2017 przez Agata Kolber Nowicjusz (220 p.)
Tak. Ten błąd już wcześniej popełniłam, ale wtedy nic nie działało i nie dało się skompilować. Wcześniej wszystko było dobrze, dopóki nie dodałam audio. Biblioteka wcześniej działała prawidłowo.
1
komentarz 26 września 2017 przez j23 Mędrzec (194,920 p.)

Dodaj bibliotekę OpenAL32.lib.

komentarz 2 października 2017 przez Agata Kolber Nowicjusz (220 p.)

Dziękuję bardzo za pomoc. laugh

To był tak malutki błąd, że pewnie bym go sama nie zauważyła nigdy. Problem zażegnany.

Podobne pytania

0 głosów
2 odpowiedzi 227 wizyt
pytanie zadane 14 lipca 2017 w C i C++ przez Artur Koniec Gaduła (3,670 p.)
0 głosów
0 odpowiedzi 413 wizyt
pytanie zadane 13 marca 2022 w C i C++ przez Mezeon Obywatel (1,550 p.)
0 głosów
1 odpowiedź 624 wizyt
pytanie zadane 14 stycznia 2019 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...