打开文件时基于 Qt 的应用程序'Qt platform plugin windows not found'问题

Qt based app 'Qt platform plugin windows not found' issue when opening a file

本文关键字:Qt platform windows 问题 found not plugin 应用程序 文件      更新时间:2023-10-16

可能大多数有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

祝好运