毕竟我无法让 MinGW 版本工作,即使我按照文档逐步部署,但我现在确实有一个工作应用程序。
问题的根源是Qt文件夹中的一些dll注册并且程序到达它们甚至很难它不在同一个文件夹中。我认为与文档中提到的相比,MinGW 版本需要更多的 dll,或者它可能只是我的 PC。
这是我所做的:
1、用Visual Studio编译器下载Qt creator,删除除源之外的所有内容并重建项目。
2,在项目文件的开头添加了这个:
QMAKE_LFAGS += -Wl,--repath=\\\$\$ORIGIN
QMAKE_LFAGS += -Wl,--repath=\\\$\$ORIGIN/lib
QMAKE_LFAGS += -Wl,--repath=\\\$\$ORIGIN/libs
QMAKE_RPATH=
这应该让应用程序在 . , ./lib, ./libs,但我认为它什么也没做,因为应用程序不会在 lib 文件夹中找到它们。
3,将这些dll复制到同一个文件夹中:(与文档相同)
D3DCompiler_43
icudt49
icuin49
icuuc49
libEGL
libGLESv2
Qt5Core
Qt5Gui
Qt5Widgets
Platforms (folder) containing qminimal and qwindows
msvcr100 and msvcp100
minGW 版本需要 LIBSTDC++-6、LIBGCC_S_DW2-1 和 MINGWM10,但即使有了这些,它对我也不起作用。
一般提示:
- 请注意,如果未找到其中之一,mingw 会抛出错误,而 VS 版本什么也不做(立即终止,没有任何消息。)
- The most comfortable solution of testing the dependences is renaming the Qt folder, so that your app will not find it, this way you don't need a second computer to test it, nor unistalling the app like the documentation suggests.
- If you still have problems you can solve this the brute force way, like I did, by making a copy of the Qt folder, and deleting the elements one by one in the original one, to see what your program depends on. Unfortunately even the dependency checker does not mention some of them.
I wish you all happy coding, and more successful troubleshooting with this post.