Hallo,
hab das Problem mit dem Sound, wurde hier öfters gesprochen, aber komme zu keiner Lösung.
Habe die include und lib Dateien sowie die SDL_mixer aus dem Verzeichnis in mein Spieleverzeichnis, wo die anderen include und libs sind, kopiert.
Dann habe ich foilgenden Code spaßeshalber in die main kopiert:
|
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
|
// SDL mit dem Grafik- und Audiosystem initialisieren.
if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) == -1)
{
// Ups, das hat nicht funktioniert!
// Wir geben die Fehlermeldung aus.
std::cerr << "Konnte SDL nicht initialisieren! Fehler: " << SDL_GetError() << std::endl;
return -1;
}
// [nach der SDL-Initialisierung] SDL_mixer starten.
const int samplingFrequency = 44100; // 44100 Hz Abtastfrequenz
Uint16 audioFormat = AUDIO_S16SYS; // 16 Bits pro Sample
const int numChannels = 2; // 2 Kanäle = Stereo
const int chunkSize = 4096; // ein guter Wert ...
if(Mix_OpenAudio(samplingFrequency, audioFormat, numChannels, chunkSize) == -1)
{
std::cerr << "Konnte SDL_mixer nicht starten! Fehler: " << Mix_GetError() << std::endl;
return -1;
}
// WAV-Datei laden.
Mix_Chunk* sound = Mix_LoadWAV("C:\\Projekte\SDL_Game\SDL_Game\Data\test.wav");
if(!sound)
{
std::cerr << "Konnte WAV-Datei nicht laden! Fehler: " << Mix_GetError() << std::endl;
return -1;
}
|
die beiden includes SDL_mixer und SDL.h habe ich angegeben, aber nichts passiert ...
Fehler:
1>MSVCRTD.lib(cinitexe.obj) : warning LNK4098: Standardbibliothek "msvcrt.lib" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_Mix_LoadWAV_RW" in Funktion "_SDL_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_Mix_OpenAudio" in Funktion "_SDL_main".
1>C:\Projekte\SDL_Game\Debug\SDL_Game.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Projekte\SDL_Game\SDL_Game\Debug\BuildLog.htm" gespeichert.