and*_*seg 4 c++ windows dll qt
请记住,所有这些都与Qt Creator(5.6.1和5.7)有关:
我在我的工作机器上制作了一个项目(Win7,64位,在Qt 5.6.1中使用MinGW 5.3.0 32位编译).它在调试和发布模式下都能很好地工作.
不久之后,我决定在另一台机器上测试我的程序(WinXp,32位).我刚刚传递了可执行文件和.dll.仍然像魅力一样工作.
后来,我在我的游戏机(Win10,64bits)中测试了我程序的SAME版本.奇怪的是,它根本不起作用.我收到以下错误:
"无法找到或加载qt平台插件"windows"".
我记得如果缺少.dll,则会发生此错误.所以我将所有.dll从Qt文件夹传递到我的程序文件夹(具有删除不需要的后者的意图).令我惊讶的是,它仍然没有用.但错误是不同的:
"无法找到或加载qt平台插件"windows"...可用的平台插件有:最小的,屏幕外的,窗户,最小的,屏幕外的,窗户."
它非常清楚地找到了平台插件窗口(qwindows或qwindowsd ......或两者都有),但它无法加载它.任何想法为什么?
编辑:所有.dll文件在C:\Qt\5.7\mingw53_32\bin被复制并粘贴到与可执行文件的文件夹.
所有文件夹中C:\Qt\5.7\mingw53_32\plugins被复制并粘贴到与可执行文件的文件夹.
这几乎就是我添加的所有.dll!
老实说,我不知道.但它似乎很像"Alexander Saprykin"的答案是正确的.在测试过程中,我不得不更新我的Qt,所以它很可能只是一个版本不匹配.
此外,当我使用Qt 5.7.0重新构建我的构建时,它起作用,这意味着它确实只是一个不匹配的情况.
正如"塞巴斯蒂安·朗格"在评论中所说的那样,使用windeplyqt.exe了这项工作.我刚删除了除了.exe在我的构建文件夹中的所有内容,打开了Qt5.7命令行,将chaged目录与我的相同.exe并运行命令windeployqt .或windeployqt [name_of_exe].exe
谢谢大家!
听起来你的程序的目录结构不太正确.对于Windows Qt5应用程序,您应该在与.exe文件相同的目录中有一个名为"platforms"的文件夹,并且该平台文件夹中应该是qwindows.dll文件