Ogre stürzt ab



  • Also bitte. Wenn man einen Segfault bekommt sollte man doch wenigstens das bischen Selbstständigkeit haben und das Programm im Debugger starten.
    Meistens sind die Probleme bei einen Blick in den Callstack sehr leicht ersichtlich.



  • Ethon schrieb:

    Also bitte. Wenn man einen Segfault bekommt sollte man doch wenigstens das bischen Selbstständigkeit haben und das Programm im Debugger starten.
    Meistens sind die Probleme bei einen Blick in den Callstack sehr leicht ersichtlich.

    Ach ja?

    #0 6FC898B5 libstdc++-6!_ZNSsC1EPKcRKSaIcE() (C:\Windows\system\libstdc++-6.dll:??)
    #1 680F7CF6 ZThn4_N4Ogre24FrameTimeControllerValueD1Ev() (C:\Windows\system\OgreMain.dll:??)
    #2 68232EFE ZN4Ogre16StreamSerialiser9HEADER_IDE() (C:\Windows\system\OgreMain.dll:??)
    #3 00000000 0x0028f9c3 in ??() (??:??)
    #4 77D1D8C9 ntdll!RtlEmptyAtomTable() (C:\Windows\system32\ntdll.dll:??)
    #5 67C01060 ??() (C:\Windows\system\OgreMain.dll:??)
    #6 77D2681C ntdll!RtlStatMemoryStream() (C:\Windows\system32\ntdll.dll:??)
    #7 00000000 0x0028fd24 in ??() (??:??)
    #8 77D252D6 ntdll!TpCaptureCaller() (C:\Windows\system32\ntdll.dll:??)
    #9 00000000 0x0028fd24 in ??() (??:??)
    #10 77D19E79 ntdll!RtlpNtSetValueKey() (C:\Windows\system32\ntdll.dll:??)
    #11 00000000 0x0028fd24 in ??() (??:??)
    #12 00000000 0x00000000 in ??() (??:??)

    Was ist hier ersichtlich?

    Ich kann mir vorstellen, dass er keine Debugging Symbole erstellen lässt...



  • Ja, es ist schöner wenn der Debugger einen Backtrace mit demangelten Namen und Zeilenangaben ausspuckt.

    Es kracht btw in nem std::basic_string Konstruktor, der von Ogre aufgerufen wird.



  • Ethon schrieb:

    Es kracht btw in nem std::basic_string Konstruktor, der von Ogre aufgerufen wird.

    Echt? Woher weißt du das? :xmas1:
    Aber das kann gut sein, Schließlich ist Ogre::String nur ein typedef auf string ...



  • http://slush.warosu.org/c++filtjs/

    -> _ZNSsC1EPKcRKSaIcE



  • das komische ist, das selbst wenn ich die main dadurch ersetze:

    int main(){
    printf("asdf");
    getchar();
    return 1;
    }

    stürzt es ab, was ich mir einfach nicht erklären kann.



  • alterbro schrieb:

    das komische ist, das selbst wenn ich die main dadurch ersetze:

    int main(){
    printf("asdf");
    getchar();
    return 1;
    }

    stürzt es ab, was ich mir einfach nicht erklären kann.

    Dann liegt es entweder an globalen Variablen oder an der DLL.



  • ok, irgend ein Vorschlag?



  • das seltsamste ist halt dieser Text:

    "It should be populated properly, but it can't hurt to check. smile

    Also make sure that the MinGW version Code::Blocks uses is the same that was used to compile the Ogre SDK (it is written in the SDK downloads section). Or at least compatible.
    1.8.1 was compiled with GCC 4.7.0, but also seems to run fine if you use it with GCC 4.7.2.

    You can find out your version of MinGW by going to "C:\MinGW\lib\gcc\mingw32".
    This folder will contain another folder with a version number. "

    Der je sagt, dass man fpr OGRE 1.8.1, die ich verwende gcc 4.7.0 braucht. doch nach der Webseite und Wikipedia gibt es erst 4.6.2.
    Doch das beste kommt erst noch:
    Wenn man Code::Blocks mit der mitgelieferten mingw installiert, und dann die Mingw version prüft, ist die bereits 4.7.1, die aber auch nicht funktioniert.
    Kann sich das jemand erklären?



  • Der mitgelieferte MinGW ist ein TDM-GCC.



  • ok, kannst du mir sagen, wie ich meine Mingw-Gcc updaten kann?



  • mingw-update
    mingw-install gcc
    mingw-install g++



  • lach mich bite nicht aus, aber wie fühert man diese Befehle unter Windows aus?

    Hab bisher mit vs gearbeitet



  • lach mich bitte nicht aus, aber wie führt man diese Befehle unter Windows aus?

    Hab bisher mit vs gearbeitet



  • In der MinGW Shell?



  • tut mir leid, doch ich bekomme:

    $ mingw-update
    sh: mingw-update: command not found

    hab ich was falsch gemacht?


Anmelden zum Antworten