Russian Qt Forum

Qt => Общие вопросы => Тема начата: demaker от Август 24, 2017, 16:56



Название: Некорретная работа qimage
Отправлено: demaker от Август 24, 2017, 16:56
Пытаюсь с помощью qimage  работать с файлом.
Но получается такая ситуация, что если программу
запускать из-под Creator , то работает норм - в консоль выводится 1,
а если запустить просто исполняемый файл , то 0.
Код:
QImage image(file->fileName());
qDebug()<<image.size().isNull();  // ???

Полскажите, в чем может причина ???


Название: Re: Некорретная работа qimage
Отправлено: gil9red от Август 24, 2017, 17:01
Папка плагины/папка форматов картинок/dll нужного формата


Название: Re: Некорретная работа qimage
Отправлено: demaker от Август 24, 2017, 17:29
Папка плагины/папка форматов картинок/dll нужного формата
Взял либы, кинул в папку с испрлняемым файлом, но увы!!!


Название: Re: Некорретная работа qimage
Отправлено: Apktyc от Август 24, 2017, 17:48
dll плагинов надо класть не рядом с исполняемым файлом, а в соответствующую плагину папку


Название: Re: Некорретная работа qimage
Отправлено: demaker от Август 24, 2017, 18:03
dll плагинов надо класть не рядом с исполняемым файлом, а в соответствующую плагину папку

И куда???


Название: Re: Некорретная работа qimage
Отправлено: Alex Custov от Август 24, 2017, 18:03
https://doc.qt.io/qt-5/windows-deployment.html


Название: Re: Некорретная работа qimage
Отправлено: Bepec от Август 24, 2017, 19:04
в папку imageformats. Ну в которой они и лежат по пути qt/plugins. Приложение их оттуда подгружает.


Название: Re: Некорретная работа qimage
Отправлено: demaker от Август 25, 2017, 10:56
в папку imageformats. Ну в которой они и лежат по пути qt/plugins. Приложение их оттуда подгружает.


Сделал так
Создал папку plugins где находится исполняемый файл.
В эту папку закинул все dll  ищ imageformats.

В main.c добавил
Код
C++ (Qt)
QCoreApplication a(argc,argv);
QString pluginsPath=QString("%1/%2").arg(a.applicationDirPath()).arg("plugins");
pluginsPath =pluginsPath.toLower();
a.addLibraryPath(pluginsPath);
 

И не помогло.
Что делать???


Название: Re: Некорретная работа qimage
Отправлено: Bepec от Август 25, 2017, 11:19
Почему вы не читаете сообщения?
Нужна папка IMAGEFORMATS, в которой лежат длл. Папка должна находиться в директории с исполняемым файлом.

PS такое чувство что прочитали полсообщения, кинулись делать, а вторую часть прочитать забыли. :(


Название: Re: Некорретная работа qimage
Отправлено: Apktyc от Август 25, 2017, 11:21
В дополнению к сообщение Вереса, выдержка из того, что советовал Alex Custov

Цитировать
Your application may also depend on one or more Qt plugins, such as the print support plugin, the JPEG image format plugin or a SQL driver plugin. Be sure to distribute any Qt plugins that you need with your application. Similar to the platform plugin, each type of plugin must be located within a specific subdirectory (such as printsupport, imageformats or sqldrivers) within your distribution directory.

Либо воспользуйтесь утилитой windeployqt.exe, которая создаст (хоть и не без недочетов (слегка избыточно по плагинам, и не все нужные dll скопирует)) правильную структуру.


Название: Re: Некорретная работа qimage
Отправлено: demaker от Август 25, 2017, 15:38
Всем спасибо большое!!!! Работает :)