部署Qt dll文件-尽管platform/qwindows.dll存在,所以找不到Windows插件,因此libEGL和libGLES [英] Deploying Qt dll file - cannot find windows plugin although platforms/qwindows.dll exists and so libEGL and libGLES

查看:222
本文介绍了部署Qt dll文件-尽管platform/qwindows.dll存在,所以找不到Windows插件,因此libEGL和libGLES的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将我的应用程序构建为普通exe并在其上运行windeployqt.我的exe文件夹中的文件很长.

I built my app as normal exe and run windeployqt on it. I got long list of files in folder with exe.

files:
./
D3Dcompiler_47.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Svg.dll
Qt5Widgets.dll
WLedPlugin.exe
accessible
files.txt
iconengines
icudt52.dll
icuin52.dll
icuuc52.dll
imageformats
libEGL.dll
libGLESv2.dll
platforms
qt_cs.qm
qt_de.qm
qt_fi.qm
qt_hu.qm
qt_it.qm
qt_ja.qm
qt_ru.qm
qt_sk.qm
qt_uk.qm

./accessible:
qtaccessiblewidgets.dll

./iconengines:
qsvgicon.dll

./imageformats:
qdds.dll
qgif.dll
qicns.dll
qico.dll
qjp2.dll
qjpeg.dll
qmng.dll
qsvg.dll
qtga.dll
qtiff.dll
qwbmp.dll
qwebp.dll

./platforms:
qwindows.dll

然后我将应用程序编译为dll,并使用适当的程序将其放入文件夹中. (我正在为Keil IDE开发插件). DLL看起来不错,但是当代码的一部分时 QApplication启动后,便找不到Windows插件.

then I compiled app as dll and put it into folder with proper program. (I'm developing plugin for Keil IDE). DLL is seen well, but when part of code with QApplication launches, then it can't find windows plugin.

因此,正如您所见,qwindows.dll也位于libEGL和libGLESv2的正确文件夹中,并且仍然看不到Windows插件.

So as you see qwindows.dll is in proper folder as libEGL and libGLESv2 are too and it still cannot see windows plugin.

我正在使用msvc编译器x86和Qt 5.3版本.

I'am using msvc compiler x86 and Qt 5.3 version.

找到一些解决方法->我只是简单地将msvc扔掉了,而是使用了mingw.它简直扭曲了.

Some workaround found -> I simply threw msvc off and used mingw instead. It simply wroked.

推荐答案

好吧,我想我现在知道更多问题了.

Ok i guess now i know a bit more what was the problem about.

我有一个带有Keil应用程序的文件夹,一个带有我的dll插件的文件夹. Windows在应用程序中检查被调用的dll的依赖项 dll目录位于第一个目录中,而不是dll目录中. DLL目录位于较低位置.

I had folder with Keil application and folder with my dll plugin. Windows check for called dll's dependencies in application's that called dll directory in first, not in dll directory. Dll directory is in lower position.

当然,迟早Windows最终应该进入dll的文件夹,但在某些计算机上却没有.将依赖项从DLL的目录移动到应用程序的目录已获得帮助,目前暂时运行良好.谢谢大家的帮助! :)

Of course sooner or later windows should finally get to the dll's folder, but on some machines it didn't. Moving dependencies from DLL's directory to application's directory helped and is working well for the time being. Thanks all for help! :)

这篇关于部署Qt dll文件-尽管platform/qwindows.dll存在,所以找不到Windows插件,因此libEGL和libGLES的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆