Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Zitat
1>------ Erstellen gestartet: Projekt: SDL_Game, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>main.cpp
1>Verknüpfen...
1>Sound.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_Mix_CloseAudio" in Funktion ""public: virtual __thiscall CSound::~CSound(void)" (??1CSound@@UAE@XZ)".
1>Sound.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_Mix_FreeChunk" in Funktion ""public: virtual __thiscall CSound::~CSound(void)" (??1CSound@@UAE@XZ)".
1>Sound.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_Mix_OpenAudio" in Funktion ""public: bool __thiscall CSound::Init(void)" (?Init@CSound@@QAE_NXZ)".
1>Sound.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_Mix_LoadWAV_RW" in Funktion ""public: void __thiscall CSound::Load(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?Load@CSound@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)".
1>Sound.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_Mix_PlayChannelTimed" in Funktion ""public: void __thiscall CSound:lay(void)" (?Play@CSound@@QAEXXZ)".
1>C:\Users\Philipp Hafner\Documents\Visual Studio 2008\Projects\SDL_Game\Debug\SDL_Game.exe : fatal error LNK1120: 5 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Users\Philipp Hafner\Documents\Visual Studio 2008\Projects\SDL_Game\SDL_Game\Debug\BuildLog.htm" gespeichert.
1>SDL_Game - 6 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#ifndef SOUND_HPP #define SOUND_HPP #include <SDL_mixer.h> #include "Singleton.tpp" #include <iostream> #define g_pSound CSound::Get() class CSound : public TSingleton<CSound> { public: ~CSound(); bool Init(); void Load(const std::string sFilename); void Play (); private: int audio_rate; Uint16 audio_format; int audio_channels; int audio_buffers; Mix_Chunk *sound; }; #endif |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
#include "Sound.hpp" // Destruktor CSound::~CSound() { // Struktur freigeben Mix_FreeChunk(sound); // Audioausgabe schließen Mix_CloseAudio(); } bool CSound::Init() { // Audio Einstellungen setzen audio_rate = 22050; audio_format = AUDIO_S16SYS; audio_channels = 2; audio_buffers = 4096; // Audioausgabe öffnen if(Mix_OpenAudio(audio_rate, audio_format, audio_channels, audio_buffers) != 0) { std::cout << "Soundmodule coult not be initialised." << std::endl; std::cout << "\t Errorcode: " << Mix_GetError() << std::endl; return 0; } return 1; } // Aufgabe: Sounddatei laden void CSound::Load(const std::string sFilename) { // Sounddatei laden sound = Mix_LoadWAV(sFilename.c_str()); if(sound == NULL) { std::cout << "Could not load WAV File." << std::endl; std::cout << "\t Errorcode: " << Mix_GetError() << std::endl; } } // Aufgabe: Sounddatei abspielen void CSound::Play() { // Sound abspielen if(Mix_PlayChannel(-1, sound, 0)==-1) { std::cout << "Could not play WAV File." << std::endl; std::cout << "\t Errorcode: " << Mix_GetError() << std::endl; } } |
Zitat von »"Databyte"«
Ich hab die Lib noch nie benutzt... aber es scheint, dass du vergessen hast, die SDL_mixer-Library mitzulinken...
Das kannst du in den projekteinstellungen machen
Werbeanzeige