Ich habe es geschafft, Qt5 mit dem Mingw-w64-Projekt-Compiler für 32-Bit-Windows (irgendwie) zu kompilieren. Alle Bibliotheken wurden unter ~/i686-w64-mingw32
installiert.Der Prozedur-Einstiegspunkt __gxx_personality_sj0 konnte nicht gefunden werden ...
Ich habe ein CMake-basiertes Qt-Projekt, das ich versuche, Kreuz-kompilieren. Indem ich these instructions folgte, konnte ich das Projekt kompilieren. So weit, ist es gut.
Leider, wenn die resultierenden binären unter Windows ausgeführt wird, ich am Ende einen Fehler bekommen:
"The procedure entry point __gxx_personality_sj0 could not be located in the dynamic link library [application_name].exe"
* [application_name] ist der vollständige Pfad zu dem ausführbaren Haupt
Ich habe gehört, Diese Art von Problem kann manchmal durch das Mischen von Bibliotheken verursacht werden, die mit verschiedenen Versionen von MinGW kompiliert wurden. Aber alles auf dieser Maschine (alle Bibliotheken und die ausführbare Datei) wurden alle vom selben Compiler (der i686-w64-mingw32
Toolchain) kompiliert.
Auch finde ich es seltsam, dass der Fehler beschwert, dass der Einstiegspunkt von der ausführbaren Anwendung statt einer der Dateien .dll
fehlt.
Was könnte diesen Fehler verursachen und was kann getan werden, um es zu beheben?
vielleicht verwenden Sie Software kompiliert mit einer anderen Version – didierc
@didierc: Ich habe nur eine Version von Mingw-w64 installiert. –
Ich frage mich, ob Sie eine Software mit einer anderen Version von Mingw kompiliert haben, nicht, wenn Sie eine andere Version von Mingw verwendet hätten. Ihre Antwort spiegelt genau meine Annahme wider, dass irgendwo eine andere Software eine mit einer anderen Version erstellte Lib verwendete und dass sie irgendwie mit Ihrer kompilierten Software interferierte. Ich nehme an, dass ich die Dinge nicht gut genug beschrieben habe, aber du hast es herausgefunden, großes Lob an dich! – didierc