undefined reference: GetConsoleWindow



  • Erstens: Beschwert sich wirklich der Compiler oder der Linker?

    Zweitens: Hast du das Makro _WIN32_WINNT irgendwo definiert? Und wenn ja, auf welchen Wert?



  • 1. Keine ahnung
    2. Nein habe ich nicht.

    Wozu soll dass gut sein?



  • lippoliv schrieb:

    1. Keine ahnung

    Dann schau nach - bzw. gib die exakte Fehlermeldung des Compilers an.

    2. Nein habe ich nicht.

    Wozu soll dass gut sein?

    Wenn du genau hinsiehst, erkennst du, daß die Deklaration in einem #if-Block liegen - die bemerkt der Compiler nur, wenn _WIN32_WINNT größer/gleich 0x500 ist.



  • Ja und wann ist sie dass?
    Ist dass nicht Betriebssystemabhängig?
    Bei msdn steht "Client Requires Windows Vista, Windows XP, or Windows 2000 Professional. " Ich habe Vista.

    Der Link war eben falsch

    ./cce2aaaa.o:server.c:(.text+0x34): undefined reference to `GetConsoleWindow'
    ./cce2aaaa.o:server.c:(.text+0x38f): undefined reference to `GetConsoleWindow'
    ./cce2aaaa.o:server.c:(.text+0x3d8): undefined reference to `GetConsoleWindow'
    

    Das steht da



  • Remarks

    To compile an application that uses this function, define _WIN32_WINNT as 0x0500 or later. For more information, see Using the Windows Headers.

    Schonmal mit lesen versucht?

    //Edit
    Noch als Tipp

    #define



  • Habich noch nie gelernt... Was ist dass?

    Hm... Ok, habich nie bemerkt. Wozu brauche ich dass/Wie setze ich das?



  • lippoliv schrieb:

    Ja und wann ist sie dass?

    Wenn der Compiler sie auf einen entsprechenden Wert gesetzt hat - VS übergibt automatisch diese Konstanten mit den richtigen Werten, wenn du von Hand compilierst, mußt du dich selber darum kümmern.



  • #undef WINVER
    #define WINVER 0x0500
    #undef _WIN32_WINNT
    #define _WIN32_WINNT 0x0500
    

    So habe ich dass jetzt gemacht, dass

    ./ccYbcaaa.o:server.c:(.text+0x34): undefined reference to `GetConsoleWindow'
    ./ccYbcaaa.o:server.c:(.text+0x38f): undefined reference to `GetConsoleWindow'
    ./ccYbcaaa.o:server.c:(.text+0x3d8): undefined reference to `GetConsoleWindow'
    

    kommt dabei raus.
    Ich kann auch nicht

    _WIN32_WINNT = 0x0500;
    

    schreiben.



  • Hast du das define auch vor dem include von wincon.h gesetzt?

    Gruß mcr



  • Gut daran habe ich nciht gedacht.

    DANKE an alle. Es klappt.


Anmelden zum Antworten