[VS2010] LNK2019: "Verweis auf nicht aufgelöstes externes Symbol" - mal wieder :-(

vfl_freak

Premium-User
Hallo zusammen,

ich stehe hier irgendwie gerade mal wieder auf dem Schlauch :mad:

Ich versuche hier gerade zur Fehlersuche einen Handler für "unhandledExceptions" einzubauen und habe mich an einigen Beispielen aus der API/Web rntlang gehangelt zu diesem Code:
C++:
/*!
 * \brief Erzeugt ein Minidump-File beim Autreten einer unhandled Exception
 * \param ExceptionInfo Zeiger auf Informationen zur Exception
 */
long WINAPI unhandledExceptionFilter( EXCEPTION_POINTERS* ExceptionInfo )
{
    char szDumpFile[1024];
    GetModuleFileName( nullptr, szDumpFile, sizeof szDumpFile );
    strcat_s( szDumpFile, _countof(szDumpFile), ".exp.dump" );
    HANDLE hDumpFile( CreateFile(szDumpFile, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL) );
    if( hDumpFile != INVALID_HANDLE_VALUE )
    {
        MINIDUMP_EXCEPTION_INFORMATION expi;
        expi.ThreadId = GetCurrentThreadId();
        expi.ClientPointers = NULL;
        expi.ExceptionPointers = ExceptionInfo;
        MiniDumpWriteDump( GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpNormal, &expi, NULL, NULL );
        CloseHandle( hDumpFile );
    }
    return EXCEPTION_CONTINUE_SEARCH;
} // unhandledExceptionFilter
Leider bekomme ich beim Compilieren den beliebten LNK2019-Fehler ...
1>GSOrgaServer.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_MiniDumpWriteDump@28" in Funktion ""long __stdcall unhandledExceptionFilter(struct _EXCEPTION_POINTERS *)" (?unhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z)".
1>.\GSOrgaServer___Release\\#GSWorkerServer.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
Der lt. API zugehörige header "dbghelp.h" wird im zugehörigen Header includiert ("#include "DbgHelp.h")!

Bin mittlerweile ratlos :-(
Hat irgendwer eine Idee, woran es in diesem Fall liegt?

Danke und Gruß
Klaus
 
Zuletzt bearbeitet von einem Moderator:
Moin,

ok, wäre vlt. 'ne Idee ... werde ich morgen früh mal testen!
Allerdings war der include schon vorhanden (kann so aus dem Stand nicht sagen, wofür), weswegen ich jetzt gemutmaßt hätte, dass dies eigentlich überflüssig ist!

Danke und Gruß
Klaus
 
Hi vfl_freak

Wenn du einen Header includierst wird in der Regel nichts gelinkt. Es gibt manchmal Libraries die automatisch die entprechende lib linken, das ist aber meiner Meinung nach eher unerwünscht. Wie Caligulaminus richtig sagte musst du dbghelp.lib dem Linker angeben.

Grüsse
Cromon
 

Neue Beiträge

Zurück