Seltsame Fehlermeldung in CodeBlocks



  • Hallo,

    ich habe die SFML Libs mit dem Compiler von Codeblocks (16.1) verlinkt, so wie hier in einem Thread beschrieben (durch Googl-Suche gefunden), allerdings kommt es bei der Programmauführung immer wieder zu der Fehlermeldung:

    Der Prozedureinsprungspunkt _gxx Personality_v0 wurde in der DLL libstdc++6dll nicht gefunden

    diese Fehlermeldung kommt inzwischen auch, wenn ich kleine Consolenanwendungen ausführe.

    Weiß jemand einen Rat?

    Danke.



  • Vult schrieb:

    Der Prozedureinsprungspunkt _gxx Personality_v0 wurde in der DLL libstdc++6dll nicht gefunden

    Besonders für C++ gilt: Nicht sebst kompilerte DLL-Dateien und Importbibliotheken müssen exakt zu verwendetem Compiler und C++-Runtime passen. Eine DLL für Visual Studio z.B. wirst du nicht ohne weiteres mit CodeBlocks (GCC/Clang) verwenden können. Auch die Standardbibliothek (in diesem Fall offenbar libstdc++) und auch das Exception Handling-Modell (SJLJ/Dwarf/SEH/deaktivierte Exceptions) müssen übereinstimmen. Ebenso wird es oft nicht gut gehen, wenn DLL und EXE bezüglich dynamisch/statisch gelinkter Runtime nicht übereinstimmen oder aber eine andere Version verweden. Besonders libstdc++ hat in jüngerer Zeit sein ABI geändert und kann trotz selber Versionsnummer entweder mit neuer oder mit alter ABI kompiliert worden sein - DLL und EXE müssen auch hier die selben Einstellungen verwenden, sonst kann es ebenfalls zu solchen "seltsamen" Fehlermeldungen kommen.

    Schau dir nochmal genau an, welche vorkompilieren DLL-Dateien und Importbibliotheken auf der SFML-Seite angeboten werden, und wähle die, die möglichst genau auf den von dir verwendeten Compiler passen.

    Gruss,
    Finnegan


Anmelden zum Antworten