waveOutSetVolume
-
Hallo, ich habe gerade Visual C++ 2005 Express auf Deutsch runtergeladen und so n bisschen angefangen zu coden. Hab die Windows SDK runtergeladen und installiert, hab sogar schon einen socketserver zum laufen gebracht.
Leider scheitere ich an einem kleinen Problem, ich möchte beim Start meines Programms den Wave Kanal meiner Soundkarte auf volle Lautstärke drehen.
Der relevante Codeteil sieht so aus :#include <Windows.h> #include <Mmsystem.h> waveOutSetVolume(HWAVEOUT WAVE_MAPPER,0xFFFFFFFF);
Wenn ich die wave Funktion rausnehme kann ich den Code kompillieren, wenn ich jedoch mit der Funktion kompilliere erhalte ich immer folgende Fehlermeldung :
Systemvolume.obj : error LNK2028: Nicht aufgelöstes Token (0A000009) ""extern "C" unsigned int __stdcall waveOutSetVolume(struct HWAVEOUT__ *,unsigned long)" (?waveOutSetVolume@@$$J18YGIPAUHWAVEOUT__@@K@Z)", auf das in Funktion ""void __clrcall setvolume(void)" (?setvolume@@$$FYMXXZ)" verwiesen wird.
Systemvolume.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""extern "C" unsigned int __stdcall waveOutSetVolume(struct HWAVEOUT__ *,unsigned long)" (?waveOutSetVolume@@$$J18YGIPAUHWAVEOUT__@@K@Z)" in Funktion ""void __clrcall setvolume(void)" (?setvolume@@$$FYMXXZ)".
C:\Dokumente und Einstellungen\User\Eigene Dateien\Visual Studio 2005\Projects\Flash\Debug\Flash.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
Hat da jemand ne Idee was da schief läuft ?
-
Könnte es sein, daß die Library "Winmm.lib" nicht miteingebunden wird?
-
#pragma comment(lib, "Winmm.lib")
-
Hei cool, funktioniert super. Nur eine Frage hab ich dazu noch. Ich binn ein C++ Anfänger, hab aber bereits einige Programme mit dem gcc und g++ unter Mingw geschrieben, dort musste ich jedoch nie #pragma comment(lib, "Winmm.lib") einfügen.
Weshalb muss ich das bei Visual C++ 2005 tun ?
-
Bei den anderen musst Du es halt in den Projekteinstellungen hinzufügen... das kannst Du natürlich mit VS auch machen... ich persönlich finde das "pragma" einfacher... ist aber geschmackssache und eigentlich nur zu empfehlen wenn man nur VS verwendet.