Lautstärkeregelung / undef. refrence to...



  • Hi,

    vorneweg muss ich sagen, dass ich mich inzwischen etwas länger nicht mehr mit C++ beschäftigt habe, weshalb meine Kenntnisse vielleicht etwas eingeschlafen sind, entschuldigt das bitte.

    Mein Problem ist:
    Ich will unter Windows XP auf die Lautstärkeregelung zugreifen.
    Ich habe dabei versucht, mich an diese
    http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q139098&
    Beschreibung zu halten und bin dabei zu folgendem gekommen:

    //main.cpp
    
    #include <windows.h>
    #include <mmsystem.h>
    #include <stdlib.h>
    
    int main()
    {
        UINT uRetVal;
                                          // right, left channel
        uRetVal = waveOutSetVolume(0, (DWORD)0x40002000UL);
    
    return 0;
    }
    

    Wenn ich versuche, das ganze mit Code::Blocks (mit MinGW) zu compilen und linken, gibt der Linker folgenden Fehler aus:

    ":: === AudioTest, Debug ===
    undefined reference to `waveOutSetVolume@8
    :: === Build finished: 1 errors, 0 warnings ===

    In der Quelle, woher ich das habe, steht

    // link with winmm.lib for 32-bit applications.

    Speziell bei dem Teil bin ich inzwischen leider etwas raus, ich habe einfach dem Linker angegeben:
    "..\..\..\..\..\..\..\..\WINDDK\3790.1830\lib\wxp\i386\winmm.lib"
    Der Fehler tritt trotzdem auf.

    Ich hab versuchsweise die winmm.lib einfach mal in den Ordner zu main.cpp etc. gepackt und erhalte dann die Meldung:
    "ld.exe:: cannot find -lwinmm.lib"

    Ich vermute, beim Linken der lib liegt das Problem, zumal ich den Teil ziemlich komplett vergessen hab...
    Es wäre sehr nett, wenn mir jemand da auf die Sprünge helfen könnte.

    Vielen Dank im Voraus
    Sinthoras



  • Kommt mingw überhaupt mit den libs aus dem DDK / WIndows SDK / Platform SDK zurecht?
    Ich hab irgendwie in Erinnerung das man die erst irgendwie konvertieren musste oder so?



  • Danke für deine Antwort.

    Ich hab irgendwo anders eine entsprechende *.a gefunden und damit gehts.
    Aber, falls ich mal wieder das Problem haben sollte: Wie mache ich aus einer *.lib eine .a?




Anmelden zum Antworten