1

Мы пытаемся настроить систему разработки / исполнения Qt для наших пользователей на работе. Это должно позволить им создавать и / или запускать 32-битное или 64-битное приложение Qt по своему усмотрению (на той же машине).

Проблема в том, что если мы ничего не делаем, пользователь получает страшное сообщение: «Это приложение не удалось запустить, потому что он не смог найти или загрузить диалоговое окно" Windows "плагина платформы Qt». Даже готовые исполняемые файлы, такие как конструктор, дают вам это.

Единственный способ исправить это - добавить файл qt.conf, указывающий на правильный каталог плагинов для битрейта этого исполняемого файла, или скопировать правильную иерархию каталогов "плагинов" под каталогом исполняемого файла. Мы можем сделать это с помощью пользовательских правил сборки Visual Studio, но это главная PITA. Кажется, должен быть способ сделать это глобально.

Я попытался установить переменную среды QT_PLUGIN_PATH в% ProgramFiles%\Qt\Plugins, но она работает только для 64-битных EXE-файлов. По какой-то причине даже 32-битные EXE-файлы получают расширение% ProgramFiles% до «C:\Program Files\». Насколько я могу судить, Qt ничего не проверяет в HKEY_LOCAL_MACHINE\SOFTWARE, поэтому я не могу перенаправить таким образом.

Кажется, должен быть способ сделать это. Есть?

1 ответ1

0

В конце концов, я решил использовать перенаправление файлов Windows %windir%\system32 , которое не контролируется исполняемым файлом. Это включает в себя:

  • установка QT_PLUGIN_PATH в %windir%\system32\Qt-plugins
  • скопировать 64-битную версию каталога Qt plugins\platform в% windir%\system32\Qt-plugins\
  • скопировать 32-битную версию каталога Qt plugins\platform в% windir%\sysWOW64\Qt-plugins\

Очевидно, что установщик приложения также должен выполнить эти шаги.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .