Sono riuscito a (in qualche modo) eseguire la compilazione incrociata di Qt5 con il compilatore del progetto Mingw-w64 per Windows a 32 bit. Tutte le librerie sono state installate su ~/i686-w64-mingw32
.Impossibile trovare il punto di inserimento della procedura __gxx_personality_sj0 in ...
Ho un progetto Qt basato su CMake che sto tentando di compilare. Seguendo these instructions, sono stato in grado di compilare il progetto. Fin qui tutto bene.
Purtroppo, quando si esegue il binario risultante su Windows, io alla fine ottenere un errore:
"The procedure entry point __gxx_personality_sj0 could not be located in the dynamic link library [application_name].exe"
* [nome_applicazione] è il percorso completo del file eseguibile principale
ho sentito che a volte questo tipo di problema può essere causato dalla combinazione di librerie compilate con versioni diverse di MinGW. Ma tutto su questa macchina (tutte le librerie e l'eseguibile) sono stati tutti compilati dallo stesso compilatore (la toolchain i686-w64-mingw32
).
Inoltre, trovo strano che l'errore si lamenta del fatto che il punto di ingresso manchi dall'eseguibile dell'applicazione anziché da uno dei file .dll
.
Cosa potrebbe causare questo errore e cosa si può fare per porvi rimedio?
forse si sta utilizzando un software compilato con una versione diversa – didierc
@didierc: ho solo una versione di Mingw-w64 installata. –
Mi chiedevo se avessi un software compilato con una versione diversa di mingw, non se avessi usato una versione diversa di mingw. La tua risposta riflette esattamente la mia supposizione, che da qualche parte un altro software stava usando una lib prodotta con una versione diversa, e che in qualche modo interferiva con il tuo software compilato. Suppongo che non abbia detto le cose abbastanza bene, ma l'hai capito, grazie a te! – didierc