LINUX.ORG.RU

не грузит plugins/qwindows.dll - не работает

 ,


0

1

В Qt 5.1.1 это еще работало, но в Qt 5.3.1 я тупо не могу запустить программу на стороннем компьютере с вендосемерочкой или на чистой виртуалке с XP.

Перепробовал всё - и так и сяк. Например, exe_path/platforms/qwindows.dll - всё есть. Однако теперь, в релизе Qt 5.3.1 - qwindows почему-то зависит от QtCore5/QtGui5 и прочих там libEGL.

Это какая-то ошибка или баг? Или теперь деплоить Qt 5.3.x+ надо как-то иначе??? ЧЯДНТ? Вот Qt 5.1.1 - ноу проблемс.

P.S. Понимаю что вендопроблемушки, но увы, иногда надо реализовывать потенциал кроссплатформенности Qt, хотя основная моя ОС это исключительно Ubuntu.

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

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

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

А у твоего велосипеда квадратные колёса тебя лицензия коммерческая присутствует?

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

Временно решил проблему так - просто откатил снапшот виртуальной машины где у меня Qt 5.1.1 был - и тупо всё работает. Как у меня так и на компе где кутёй никогда и не пахло даже.

Вопрос: почему для 5.1.1 не надо ничего прописывать, а для 5.3.1 - надо? Можно как-то из кода это сделать?

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от ATIpro

И у меня тоже - а на другом ПК? Какие ОС? Прошу предоставить список содержимого файлов, если не затруднит. Ведь я делаю на 100% одно и то же, но с Qt 5.1.1 работает, а 5.3.1 - нет.

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

https://toster.ru/q/119271#answer_353407

Странно, тоже постоянно вижу такие проблемы. Тем не менее у меня под Wine, Win XP всё отлично запускается. Пробовал под Wine?

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

Можно же положить на это и поставлять объектники по запросу. С LGPL момент статической линковки не совсем регламентирован, главное чтобы пользователь мог слинковать программу с новой версией библиотеки. Да и для задач «под себя» часто ли требуется лицензия?

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

И на другом ПК работает. XP и 7. На восьмерке не проверял.

$ ls -lR
.:
итого 44668
-rw-rw-r-- 1 ivan ivan 23544786 янв.  15  2014 icudt52.dll
-rw-rw-r-- 1 ivan ivan  3347428 янв.  15  2014 icuin52.dll
-rw-rw-r-- 1 ivan ivan  1992280 янв.  15  2014 icuuc52.dll
-rw-rw-r-- 1 ivan ivan   117262 марта  7 22:56 libgcc_s_dw2-1.dll
-rw-rw-r-- 1 ivan ivan   970766 марта  7 22:56 libstdc++-6.dll
-rw-rw-r-- 1 ivan ivan    48640 марта  7 22:56 libwinpthread-1.dll
drwxrwxr-x 2 ivan ivan     4096 июля  18 16:57 platforms
-rw-rw-r-- 1 ivan ivan  4785152 июля  16 17:51 Qt5Core.dll
-rw-rw-r-- 1 ivan ivan  4589056 июня  19 14:47 Qt5Gui.dll
-rw-rw-r-- 1 ivan ivan   335872 июня  19 15:04 Qt5PrintSupport.dll
-rw-rw-r-- 1 ivan ivan    96768 июня  19 15:26 Qt5SerialPort.dll
-rw-rw-r-- 1 ivan ivan  5884928 июня  19 14:56 Qt5Widgets.dll

./platforms:
итого 1248
-rw-rw-r-- 1 ivan ivan 1276416 июня  19 15:08 qwindows.dll

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

И даже под Wine та же хрень, в то время как сборка под Qt 5.1.1 на том же Wine пашет окейно.

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

Ладно, наверное не буду больше мучить вопросом этим... Выйдет Qt 5.4 и тогда уже буду беспокоиться если повторится. А так... Буду с Qt 5.1.1 собирать, пофиг.

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от ATIpro

У тебя размер файла qwindows.dll такой же? А то я как-то умудрился не тот файл из qt-шной поставки скопировать и ничего не работало.

ATIpro ★★
()

посмотри где приложение ищет библиотеку и туда положи: process monitor

anonymous
()
Ответ на: комментарий от alex-w

Ставил это: qt-opensource-windows-x86-mingw482_opengl-5.3.1.exe А что лучше? Что универсальнее? Я читал предупреждение на сайте что дескать если нет графики типа QML, то не важно какая версия. У меня тупо формочка.

А чтобы везде работало - надо с ANGLE? Но тогда будет недоступен обычный OpenGL, но будет всё остальное?

И еще... Ведь для MinGw на http://qt-project.org готовая сборка только с OpenGL... А 5.1 у меня был тоже с OpenGL - не охота пересобирать для mingw каждый раз. Но тогда работало а щас нет.

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

C MinGW собирают Qt _только_ с OpenGL (ибо не существует DirectX, собранных при помощи MinGW). В Qt 5.3.1 деплоймент действительно немного поменялся, но не очень существенно - зато сейчас есть утилитка, при помощи которой можно правильно деплоить приложения (в вики на qt-project.org описание).

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

Где скачать этот недо-компилятор vs2013? Чтоб студию всю не качать, а только лишь компилятор??? Знаю есть экспресс версия, халявная. Но... она все равно несколько гигов...

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Прежде, чем лезть в бутылку неплохо бы посмотреть на предмет используемых технологий в создаваемом приложении. А то может оказаться, что для работы требуется какой-нибудь плагин для работы с картинками или еще чем-нибудь мультимедийным, а плагин-то не задеплоин.

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

В частности, чтобы под семеркой была иконка приложения, приходится qico.dll класть. Так что всё у меня есть как надо. У меня тупая форма, на ней QPainter рисует, пара кнопок. Тестовое приложения для испытаний оборудования, захотели под винду.

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от alex-w
.
├── icudt51.dll
├── icuin51.dll
├── icuuc51.dll
├── imageformats
│   └── qico.dll
├── libgcc_s_dw2-1.dll
├── libstdc++-6.dll
├── libturbojpeg.dll
├── libwinpthread-1.dll
├── platforms
│   ├── qminimal.dll
│   ├── qoffscreen.dll
│   └── qwindows.dll
├── Qt5Core.dll
├── Qt5Gui.dll
├── Qt5Network.dll
├── Qt5Widgets.dll
└── some_shit_soft.exe
I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Попробуй в свой «main.cpp» после QCoreApplication::.... добавить

#if QT_VERSION==QT_VERSION_CHECK(5, 3, 1)
QCoreApplication::addLibraryPath(".");
#endif
alex-w ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Очень интересно. Если найдёшь решение проблемы, кастани. Ты же Qt пересобирал, так? Или прямо дефолтная MinGW-сборка имеет такую проблему?

На всякий зарепорть на http://bugreports.qt-project.org/ быть может там разрабы наставят на путь истинный. Раз они недавно деплоймент перекроили.

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

У меня есть сильные подозрения, что ты брал файлы из C:\Qt\Qt5.3.1\Tools\QtCreator\bin\, а не из C:\Qt\Qt5.3.1\5.3\mingw482_32\bin (библиотека C:\Qt\Qt5.3.1\Tools\QtCreator\bin\plugins\platforms\qwindows.dll зависит от libEGL и libEGL2, а C:\Qt\Qt5.3.1\5.3\mingw482_32\plugins\platforms\qwindows.dll нет).

ATIpro ★★
()
Последнее исправление: ATIpro (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.