可能大多数使用过 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
祝你好运
关于c++ - 打开文件时基于 Qt 的应用程序 'Qt platform plugin windows not found' 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33901842/