Мне удалось (каким-то образом) скомпилировать Qt5 с компилятором Mingw-w64 Project для 32-разрядной Windows. Все библиотеки установлены на ~/i686-w64-mingw32
.Точка входа в процедуру __gxx_personality_sj0 не может быть расположена в ...
У меня есть проект Qt на основе CMake, который я пытаюсь перекрестно скомпилировать. Следуя these instructions, я смог получить проект для компиляции. Все идет нормально.
К сожалению, при выполнении полученного двоичного файла на Windows, я в конечном итоге получаю сообщение об ошибке:
"The procedure entry point __gxx_personality_sj0 could not be located in the dynamic link library [application_name].exe"
* [application_name] является полным путь к основному исполняемому файлу
Я слышал что этот тип проблемы иногда может быть вызван смешиванием библиотек, скомпилированных с различными версиями MinGW. Но все на этой машине (все библиотеки и исполняемый файл) были скомпилированы одним и тем же компилятором (toolchain i686-w64-mingw32
).
Кроме того, мне кажется странным, что ошибка жалуется на отсутствие точки входа из исполняемого файла приложения вместо одного из файлов .dll
.
Что может вызвать эту ошибку и что можно сделать для ее устранения?
Возможно, вы используете программное обеспечение, скомпилированное с другой версией. – didierc
@didierc: У меня установлена только одна версия Mingw-w64. –
Мне было интересно, если у вас есть программное обеспечение, скомпилированное с другой версией mingw, а не если вы использовали другую версию mingw. Ваш ответ отражает точно мое предположение, что где-то другое программное обеспечение использовало lib, выпущенный с другой версией, и что это каким-то образом помешало вашему скомпилированному программному обеспечению. Полагаю, что я недостаточно хорошо разбирался в вещах, но вы поняли это, к счастью! – didierc