我将我的应用程序构建为普通的exe并在其上运行windeployqt。我在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
然后我将app编译为dll并将其放入具有适当程序的文件夹中。 (我正在为Keil IDE开发插件)。 DLL看得很清楚,但代码的一部分 随着QApplication的推出,它无法找到windows插件。
因此,当您看到qwindows.dll位于正确的文件夹中时,libEGL和libGLESv2也是如此,它仍然无法看到Windows插件。
我正在使用msvc编译器x86和Qt 5.3版本。
找到了一些解决方法 - >我只是把msvc扔掉然后用mingw代替。它只是哼了一声。
答案 0 :(得分:0)
您需要将qt.conf
放在.exe附近,或放在:qt/etc/qt.conf
[Paths]
Prefix=.
Plugins=.
答案 1 :(得分:0)
好吧我猜我现在知道更多的问题了。
我的文件夹包含Keil应用程序和带有dll插件的文件夹。 Windows检查被调用的应用程序中被调用的dll的依赖项 首先是dll目录,而不是在dll目录中。 Dll目录处于较低位置。
当然,迟早的Windows应该最终到达dll的文件夹,但在某些机器上却没有。将DLL的目录中的依赖项移动到应用程序的目录有助于并且暂时正常运行。谢谢大家的帮助! :)