Я создал DLL, которая использует некоторые функции из QTWebKit, которые затем я получаю через JNA на стороне java. На моей машине (на которой QT установлен явно) она работает нормально. Когда я переношу его на другую машину, чтобы проверить его, у которого нет qt, я получаю:Куда делятся плагины платформы QT?
Не удалось загрузить плагин «окна» платформы. Доступные платформы:
Мой Google-фу, как указал мне на то, что мне нужно также включать в себя библиотеки DLL платформы, а именно qwindows.dll
и qminimal.dll
. Согласно документации QT5 в Deploying an Application on Windows, похоже, что при развертывании исполняемого файла она будет находиться в папке с именем platforms
в каталоге сохранения в качестве исполняемого файла.
В отличие от пользовательских плагинов, плагины Qt должны быть помещены в подкаталоги , соответствующие типу плагина. Поскольку мы хотим развернуть плагин платформы Windows , его необходимо поместить в подкаталог «платформ» .
Это приводит меня к моей дилемме. У меня есть dll, а не исполняемый файл. Поэтому я не знаю, где разместить папку с платформой. Я попытался поместить его в тот же каталог, в котором выполняю свое тестовое приложение, но это не сработало.
Итак, где разместить каталог платформы, чтобы QT мог его найти?
Edit: Поскольку у меня не было много обратной связи, может быть, есть лучший способ слова/подойти к этому вопросу.
Как узнать QT, где найти DLL-платформы?
Похоже, что для этого должен быть способ. Когда я запускаю его на своей машине, он заканчивает поиск в C:\Qt2\Qt5.0.2\5.0.2\msvc2012_64\plugins\platforms
. Так кажется, что м
Я думаю, что QT_QPA_PLATFORM в вашем решении (1) должно быть QT_QPA_PLATFORM_PLUGIN_PATH (http://qt-project.org/forums/viewthread/22908) –