dynamic_cast verursacht Fehler (GCC 4.5.0)



  • Also ohne dynamic_cast kompilliert der G++ problemlos, sobald ich aber einen dynamic_cast benutze kommt folgende Warnung:

    c:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ld.exe: warning:
    auto-importing has been activated without --enable-auto-import specified on the command line.
    This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.

    Info: resolving vtable for __cxxabiv1::__si_class_type_info by linking to __imp___ZTVN10__cxxabiv120__si_class_type_infoE (auto-import)

    Info: resolving vtable for __cxxabiv1::__class_type_info by linking to __imp___ZTVN10__cxxabiv117__class_type_infoE (auto-import)

    Obwohl er eine Exe erstellt lässt sich diese nicht ausführen:

    Die Anwendung konnte nicht richtig initialisiert werden(0xc0000005). Klicken sie auf "OK", um die Anwendung zu beenden.

    🙄

    Obwohl ich beim Linker die -enable-auto-import aktiviert habe ändert sich die Fehlermeldung nichts. 😡



  • Tritt der Fehler auch bei der Version 4.4 auf? Vielleicht ist das Problem auch ganz woanders zu suchen.



  • Ich habe MingW gerade geupdatet (hatte da noch GCC 3.4.5!), da es keine aktuelles Packet gibt kann es durchaus sein dass es irgendwo ein Konfigurationsfehler hat. Seltsam finde ich einfach dass der Compiler ohne die Verwendung von dynamic_cast keine Macken aufzeigt.

    Ich installiere mal das komplette MingW neu...

    EDIT: Scheint wirklich an GCC 4.5.0 zu liegen. Mit dem 4.4 funktionierts problemlos! 😮

    Danke 👍



  • Rookie86 schrieb:

    Obwohl ich beim Linker die -enable-auto-import aktiviert habe ändert sich die Fehlermeldung nichts. 😡

    Das hat nichts mit dem Linker zu tun, der, der den GCC 4.5.0 kompiliert hat, hat schlicht und einfach die Option --enable-auto-import nicht angegeben.



  • Dachte immer, dass ungerade Zahlen (hier an zweiter Stelle) eine Entwicklerversion kennzeichnen, bei der noch nicht alles rundlaufen muss.



  • Naja, das hängt halt ganz vom Projekt am. Beim gcc ist's nicht so.



  • knivil schrieb:

    Dachte immer, dass ungerade Zahlen (hier an zweiter Stelle) eine Entwicklerversion kennzeichnen, bei der noch nicht alles rundlaufen muss.

    Ich dachte eher, je höher die hintere Nummer, desto stabiler der Build 🙂


Anmelden zum Antworten