qtlogo

 Итак, после установки путём прямого копирования приложения написанного на С++ с использованием библиотеки Qt Получаем следующую ошибку: This application failed to start because it could not find or load the Qt platform plugin «windows». Available platform plugins are: windows. Reinstalling the application may fix this problem. Под катом решение...

Решение банально просто, если при сборки дистрибутива мы положили в папку все нужные .dll однако на компьютере, на котром у нас установлен Qt сама Qt platform уже установлена и и систама не напомнит нам ошибкой о необходимости добавить qwindows.dll к дистрибутиву. Итого простое решение: Добавить в проект каталог «platforms» и скопировать туда файл qwindows.dll. Проблема решена, приложение находит Qt platform по адресу ./platforms/qwindows.dll
 qt

 Кроме того на просторах интернета рекомендуют варианты решения которые лично я пока не проверял, однако прицитирую их:

 

  • Выставить переменную окружения QT_QPA_PLATFORM_PLUGIN_PATH, указать в ней путь до папки с qwindows.dll
  • При инициализации приложения в функции main() добавить строчку вида: qApp->addLibraryPath("C:...наш путь .../plugins");
  • Использовать аргумент командной строки "-platformpluginpath \«путь_к_папке_с_qwindows.dll\»"

Конечно те варианты, которые позволяют реить проблему на уровне создания дистрибутива предпочтительнее, однако их надежность ёщё стоит проверить.

Добавить комментарий