Вероятно, большинство людей, которые имеют опыт работы с Qt5
библиотеки скажут, что я должен скопировать qwindows.dll
в myappfolder/platforms/qwindows.dll
,
Это уже было сделано и работает без нареканий.
Проблема в том, что я зарегистрировал расширение моих файлов в этом приложении, и когда я дважды щелкаю, чтобы открыть файл, приложение вылетает, так как не может найти его. qwindows.dll
,
Десеператно и я без удачи попробовал этот код:
QApplication::addLibraryPath(QCoreApplication::applicationDirPath());
QDir::setCurrent(QCoreApplication::applicationDirPath());
QApplication::addLibraryPath("./");
QString sDir = QCoreApplication::applicationDirPath();
QApplication::addLibraryPath(sDir);
QApplication::addLibraryPath(sDir+"/plugins/");
QApplication::addLibraryPath(sDir+"/platforms/");
Но мне тоже не повезло.
Любой совет?
Как я писал в комментариях, это не та проблема развертывания, поскольку .exe открывается нормально, если он открывается напрямую.
Таким образом, я предполагаю, что при его запуске на самом деле устанавливается каталог приложения по умолчанию, где находится ярлык.
Вы можете проверить это, поместив свой ярлык / любой другой файл в тот же каталог, что и ваш .exe и посмотреть, работает ли он.
Есть способы заставить загрузчик Qt искать в другом месте, но я никогда не играл с ним. Смотри сюда:http://www.tripleboot.org/?p=536
И найдите QT_QPA_PLATFORM_PLUGIN_PATH
Я думаю, что это о настройке системной переменной для вашего расположения .exe
установить QT_QPA_PLATFORM_PLUGIN_PATH = c: \ myapp
Удачи
Других решений пока нет …