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

标签 c++ windows qt platform

可能大多数使用过 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/

相关文章:

c++ - QPainter怎么转? (从工厂函数中 move 一个对象)

windows - 远程窗口上临时文件夹的位置

c - 返回按下的键而不输入确认

qt - 我可以使用opengl在窗口上画一些不属于我的东西吗?

ios - IOS 上的 Qt QML 应用程序运行缓慢,JIT 被禁用

c++ - 为什么隐式转换不适用于宽 ostream?

c++ - 使用 MSVS 避免模板化特征函数中的模糊参数

c++ - 临时对象中的成员变量是否尽可能隐式 move ?

python - 超时功能(Windows)?

c++ - 如何设置显示 QToolBar 的行?