error LNK2001: Nichtaufgeloestes externes Symbol __CrtDbgReport



  • hi

    von meinem compiler(mvs6) bekomm ich immer folgendes fehlermeldung beim linken:

    --------------------Konfiguration: test_ - Win32 Debug--------------------
    Kompilierung läuft...
    main.cpp
    Linker-Vorgang läuft...
    libcpmtd.lib(xmbtowc.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __CrtDbgReport
    Debug/test_.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.
    
    test_.exe - 2 Fehler, 0 Warnung(en)
    

    ich benutze threads in meinem programm

    was muss ich machen damit das ganze funktioniert?



  • hi

    folgendes steht in der msdn:

    int _CrtDbgReport( int reportType, const char *filename, int linenumber,
    
     const char *moduleName, const char *format [, argument] ... );
    
    Routine Required Header Compatibility 
    
    _CrtDbgReport <crtdbg.h> Win NT, Win 95 
    
    For additional compatibility information, see Compatibility in the Introduction.
    
    Libraries
    
    LIBCD.LIB Single thread static library, debug version 
    LIBCMTD.LIB Multithread static library, debug version 
    MSVCRTD.LIB Import library for MSVCRTD.DLL, debug version
    

    schau mal, ob die die entsprechenden libraries wirklich mitgelinkt hast.



  • Hast du den CrtDbgReport-Aufruf in ein #ifdef _DEBUG / #endif eingeschlossen (damit du es als Release kompilieren kannst)?
    Du kompilierst wohl als Release - bei Debug kommt die Meldung wohl nicht, oder?



  • hi,

    elise ich danke dir :), es funktioniert wenn ich die LIBCMTD.LIB benutze 🙂
    da hab ich wohl nach dem falschen gesucht in der msdn sonst wäre ich vielleicht darauf gestossen 🙂

    LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULT:Bibliothek verwenden
    

    aber dieser fehler hier verwirrt mich ein wenig oO

    was mich ausserdem noch verwirrt.

    mein irc client den ich geschrieben habe benutz auch einen thread für recv()
    dort hab ich bei projekteinstellungen > code generation > multithreaded eingestellt. und da kommen der der LNK 2001 fehler nicht oO
    naja wie gesagt danke nochmals

    flenders:
    deinen beitrag hab ich nicht verstanden 🙂 sorry

    hmmm ich arbeite mit CreateThread, wenn das jetzt funktioniert, dann sollte
    _beginthread auch funktionieren oder?

    gruß xerxes 🙂



  • Compilierst du als Debug oder als Release Version?
    Für die Release-Version müsstest du den Aufruf in ein #ifdef _DEBUG einschließen, da die Funktion nur in der Debug-Runtime-Library enthalten ist 😉



  • hi,

    hach das funktioniert einwandfrei wenn ich auf multithreaded debuggen stelle 🙂
    danke nochmals 🙂
    kann jetzt wieder loslegen, dieser fehler hat mich nur aufgehalten

    gruß xerxes

    danke nochmals 🙂


Anmelden zum Antworten