Ok, ich will nicht nur Gedudel sondern eine schöne Melodie.
Ich habe zu diesem Zweck folgende Bibliothek runtergeladen: http://www.simtel.net/pub/pd/41549.html
Das Archiv enthält neben einer .lib Datei und einem Header-File 5 Beispielmelodien.
Die .lib Datei habe ich in das entsprechende Verzeichnis von M$ Visual Studio kopiert und die Header-Datei in das Projekt eingebunden.
Allerdings bringe ich keines der Beispiele zum laufen.
Fehlermeldung:
Linking...
BEETH.OBJ : error LNK2001: unresolved external symbol _nosound
BEETH.OBJ : error LNK2001: unresolved external symbol _chord
BEETH.OBJ : error LNK2001: unresolved external symbol _schord
Debug/p1.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe
Ich habe das Gefühl, die Funktionen nosound(), chord() etc. sind überhaupt nirgends definiert.
Will mich der Typ etwa auf den Arm nehmen? Oder bin ich selbst schuld, dass es nicht geht?
Mir wäre sehr geholfen, wenn jemand diesem Problem auf den Grund gehen oder eine Alternative nennen könnte.
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
>Die .lib Datei habe ich in das entsprechende Verzeichnis von M$
>Visual Studio kopiert
aber bestimmt nicht in den Projekteinstellungen (Alt-F7) bei 'Linker' unter "Objekt.-/Bibliothek-Module:" mit eingetragen!!!
Achtung:
Es könnte verschieden Versionen der Lib für Release- und Debug-Mode geben, Debug-Lib's haben meist noch ein 'd' am Namen anhängen!
>Oder bin ich selbst schuld, dass es nicht geht?
in 85% der Fälle -> JA!
.lib file in den Projekteinstellungen eingetragen und jetzt folgendes Problem:
music.lib : fatal error LNK1136: invalid or corrupt file
Das gibts doch nicht...
klar gibt es das. in diesem fall wird das problem das sein, das du eine library verwenden willst die fuer einen _anderen_ linker gedacht war als fuer den, den du verwendest.
nachdem du das visual studio verwendest gehe ich davon aus, dass du ein win32 executable erzeugen willst - was anderes kann die vc++ version aus visual studio naemlich nicht.
die library die du da heruntergeladen hast scheit aber eine library fuer dos zu sein, denn ansonsten wuerde das 'speaker' ding nicht viel sinn machen.
m.a.w: du versucht eine 16bit-dos library in ein 32bit-windows programmm zu linken. das kann nicht gehen.
WM_FYI
thomas woelfer
Oh, eine Antwort von Herrn Woelfer persönlich!
Welch eine Ehre ;)
Achso, achso, is also eine DOS Library.
Und wie piepse ich unter Windoof?
gute frage... bin mir nicht sicher wie man mit dem speaker unter windows umgeht, ich vermute aber das das irgendow in den multimedia apis drin sein wird....
WM_HOPETHISHELPS
thomas woelfer
Dann werd ich mal weitersuchen...
Trotzdem dankeschön!
BOOL sndPlaySound
(
LPCSTR lpszSound,
UINT fuSound
);
aus der winmm.lib z.B!
Hab keine winmm.lib!
Das einzige File in dem die Funktion vorkommt ist mmsystem.h
Aber leider zu früh gefreut:
mmsystem.h(113) : error C2146: syntax error : missing ';' before identifier 'MMVERSION'
mmsystem.h(113) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
Wie zum Henker können in einer Headerdatei Strichpunkte fehlen?!
bevor mmsystem.h inkludiert werdenkann muessen noch andere header inkludiert werden (z.b. windows.h) - ansonsten fehlen einfach symbole und das file kann dann nicht uebersetzt werden.
WM_HOPETHISHELPS
thomas woelfer