以QPA插件為例,windows下QPA插件為qwindows.dll,按qt說明需要放在platforms子目錄下。
示例:相對于程序根目錄。
1.
bin/my.exe
bin/Qt5Core.dll
bin/platforms/qwindows.dll
Qt官方說明結構,程序可運行。
2.
bin/my.exe
bin/a/b/c/Qt5Core.dll
bin/a/b/plugins/platforms/qwindows.dll
設置PATH變量為bin/a/b/c,讓my.exe查找到Qt5Core.dll,程序可運行。
3.
bin/my.exe
bin/a/b/c/Qt5Core.dll
bin/a/b/platforms/qwindows.dll
去掉plugins目錄包裝,程序運行失敗,沒有加載Platform插件。
4.
bin/my.exe
bin/a/b/c/Qt5Core.dll
bin/a/plugins/platforms/qwindows.dll
plugins目錄不在Qt5Core.dll上級,程序運行失敗,沒有加載Platform插件。
5.
bin/my.exe
bin/Qt5Core.dll
bin/../plugins/platforms/qwindows.dll
plugins目錄放在bin上級目錄,程序運行失敗,沒有加載Platform插件。
6.
bin/my.exe
bin/a/b/c/Qt5Core.dll
bin/a/b/c/plugins/platforms/qwindows.dll
plugins放在Qt5Core.dll同級,程序運行失敗,沒有加載Platform插件。