LINUX.ORG.RU

Failed to load platform plugin «windows»

 , ,


0

1

Qt 5.5.1, Windows 7 (аналогичная проблема и в других win).
platforms/qwindows.dll в каталоге с программой существуют. В main прописано следующее:

QStringList paths = QCoreApplication::libraryPaths();
paths.append(".");
paths.append("platforms");
QCoreApplication::setLibraryPaths(paths);

До недавнего времени всё работало. Перестало после двух существенных изменений: Qt 5.4.2 обновлён до 5.5.1, добавлен qaxcontainer.

Уже испробовал кучу способов по ссылкам в гугле. До этого момента проблема проявлялась, но после включения кода выше - исчезла.

Единственный способ убрать ошибку, который я нашел, - это запустить Qt'шный инсталлятор и поставить весь Qt с mingw.

Перемещено JB из talks

★★

Опять сломали деплой на винду? LOL.

Проще не парить мозг и соскочить на Qt 4.8.7. Там в принципе нет таких проблем и быть не может.

Такое ощущение, что они сборки с Qt 5 даже не тестируют перед тем как выложить на сайт.

windeployqt пробовал кстати? А qt.conf? И из main надо бы убрать, то что вставил, оно должно без него работать.

Почитай это:

http://doc.qt.io/qt-5.5/windows-deployment.html

https://wiki.qt.io/Deploy_an_Application_on_Windows

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)

аналогичная проблема и в других win

Не верю. Только вчера собирал софт под Windows XP 32 bit.

Задача сводилась примерно к следующему:

mkdir ${TARGET}/platforms
cp ${QT_ROOT}/plugins/platforms/qwin*.dll ${TARGET}/platforms/

И всякий изврат в main не нужен, само должно подхватиться...

// И, да, Qt 5.5.1. Короче попробуй удалить креатив в мейне

Stil ★★★★★ ()
Последнее исправление: Stil (всего исправлений: 1)

Как уже писали выше, приведенный код не нужен, и стоит попробовать натравить windeployqt, по крайней мере в 5.5.0 у меня все работало.

P.S. тег «offtopic» — лишний.

CrossFire ★★★★★ ()
Последнее исправление: CrossFire (всего исправлений: 1)
Ответ на: комментарий от EXL

Qt5 на моей XP не взлетело - все время жаловалось на отсутствие каких-то путей и какких-то точек входа в процедуру. Плюнул, начал ставить 4.8 - это пздц. Скачать Qt, скачать mingw. Ага, нет больше такой версии mingw на сайте, лол. Нашелся в виде вложения на одном из форумов. Ага, Qt не тот - нужен тот, который был собран mingw и т.п. Я на сраную установку потратил 4 часа.

Moreo ()
Ответ на: комментарий от Stil

У них на сайте есть собранные под шинду, не надо тут. То, что к ней окружение надо по всей сети собирать - это да.

Moreo ()
Ответ на: комментарий от Moreo

Ага, нет больше такой версии mingw на сайте, лол. Нашелся в виде вложения на одном из форумов.

То, что к ней окружение надо по всей сети собирать - это да.

Да ладно тебе по сети, я делал так: брал официальный релиз qt-opensource-windows-x86-mingw482-4.8.7.exe с:

http://download.qt.io/official_releases/qt/4.8/4.8.7/

Затем брал mingw482 из официального пакета с Qt 5.3.2, qt-opensource-windows-x86-mingw482_opengl-5.3.2.exe: http://download.qt.io/official_releases/qt/5.3/5.3.2/

Всё отлично работало, плюс у них там в инсталлере Qt 4.8.7 ссылка есть, откуда этот MINGW 4.8.2 качать.

EXL ★★★★★ ()
Ответ на: комментарий от Stil

Ну это понятно, ТС ведь про MINGW-версии говорит. А Qt 4.8.7 и на Windows 10 нормально работает.

Кстати, в официальном релизе 5.5.1 тоже пока нету msvs2015: http://download.qt.io/official_releases/qt/5.5/5.5.1/

Хотя вроде Qt 5 уже собирается под ним. В рассылке пару багов линковки касательно некоторых модулей встречал. Ты весь Qt 5.5.1 собирал, или только нужные части?

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Вроде нет, не помню таких сборок у Digia. Так делала Nokia, с их огромным QtSDK-x.x.x.zip весом в 1.5 ГБ.

А у Digia Qt 4 шёл «голым» и мне приходилось ставить отдельно mingw 4.4, потом mingw 4.6.2 и под конец mingw 4.8.2.

В любом случае в инсталлере была ссылка на всё это дело.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Ты весь Qt 5.5.1 собирал, или только нужные части?

Только минималку.

Stil ★★★★★ ()
Ответ на: комментарий от EXL

А у Digia Qt 4 шёл «голым» и мне приходилось ставить отдельно mingw 4.4, потом mingw 4.6.2 и под конец mingw 4.8.2.

Да, шел, но потом к счастью добавили Qt 4.x + MinGw к нему. Вот же например: http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-mingw482... - тут MinGw интегрирован, и сам Qt 4.8.6 собран под MinGw 4.8.2.

Хотя может внутри нет MinGw, но просто сама версия свежа и подходит от актуальной поставки Qt 5.x.

UDP: вспомнил, с Qt 4.х была проблема что оно было собрано устаревшим MinGw которое хрен где доставать приходилось, а нынче собирается тем же что и для Qt 5...

I-Love-Microsoft ★★★★★ ()
Последнее исправление: I-Love-Microsoft (всего исправлений: 2)
Ответ на: комментарий от I-Love-Microsoft

тут MinGw интегрирован, и сам Qt 4.8.6 собран под MinGw 4.8.2.

Хотя может внутри нет MinGw

Нету там MinGW, ты что-то путаешь.

А вот этот Qt 4.8.6-1 появился после эпичнейшего бага, когда они пролюбили Windows-темы в релизе Qt 4.8.6: https://bugreports.qt.io/browse/QTBUG-38706 и в итоге приложения на 4.8.6 были только с Windows Classic стилем.

а нынче собирается тем же что и для Qt 5...

Хотя может внутри нет MinGw, но просто сама версия свежа и подходит от актуальной поставки Qt 5.x.

Нееееееееееет :)
Оно подходит не от актуальной версии Qt 5.x, а от Qt 5.3.2, например. То есть от тех Qt 5, которые собраны MinGW 4.8.2. А в Qt 5.5.1 уже MinGW 4.9.2.

А потому, скорее всего приложения, использующие Qt 4.8.6/Qt 4.8.7 (библиотеки собраны MinGW 4.8.2), будут крэшится, если собрать приложение MinGW 4.9.2, идущим в поставке актуального Qt 5.5.1. С++ ABI же, которое в MinGW-сборках ломается постоянно. А вот в студийных такой проблемы вроде бы нет...

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)

EXL CrossFire I-Love-Microsoft

Благодарю! windeployqt помог. Внёс изменения в

Qt5Core.dll, qwindows.dll, qsqlite.dll.

Хотя я их и брал и обновлял из Qt.

Вот эту порнографию удалил:

QStringList paths = QCoreApplication::libraryPaths();
paths.append(".");
paths.append("platforms");
QCoreApplication::setLibraryPaths(paths);
SaBo ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.