qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in ““

1、in 后面如果是空的"",表明没有找到platform中的dll.

解决办法:环境变量中新建变量:QT_QPA_PLATFORM_PLUGIN_PATH,值为:自己QTplugin中platform的路径,D:\ProfessionalSoftwares\OpenCASCADE-7.5.0-vc14-64\qt5.11.2-vc14-64\plugins\platforms

注意:1) 变量名要严格一致;2)路径后面不要加分号,也不要接其他路径。

2、in 后面如果是一堆配置好的路径,那么检查以上注意的两点是否满足

3、此外,还需要再VS解决方案属性Debugging的Environment属性中写PATH=...

qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in ““_第1张图片

其中$(QT_QPA_PLATFORM_PLUGIN_PATH)的值就是第一步中环境变量里设置的值。如果只关注QT,那么自动忽略后面两个变量

注意:1)环境变量中每新加一个变量,或者对已有的变量进行调整后,需要重启VS,在Macros>>中可以找到这个变量的最新值。2)一定要写PATH= 否则配置无效  3)注意$(QT_QPA_PLATFORM_PLUGIN_PATH)后面此时要加分号,以和后面的其他字符串区分

4、如果以上都不能解决,直接将D:\ProfessionalSoftwares\OpenCASCADE-7.5.0-vc14-64\qt5.11.2-vc14-64\plugins\platforms下的windows.dll拷贝到工程.sln所在目录下x64/Debug/路径下(若为32位,则拷贝到32位对应的路径下,总是是把dll与生成的exe放在同一个路径下)

5、进阶。在vs工程属性中找到Post-Build Event 通过代码:

xcopy /y/r $(QT_QPA_PLATFORM_PLUGIN_PATH)\qwindows.dll $(SolutionDir)$(Platform)\$(Configuration)\

在编译完成后,系统运行前将qwindows.dll之际拷贝到第4步所述的路径下,确保系统运行所需的dll都能找到

qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in ““_第2张图片

注意:1)关于xcopy 和相应指令,参考https://www.cnblogs.com/yang-hao/p/6003308.html

2)点击Macros>>输入宏名,可以查看宏的值,可在系统环境变量或者用户环境变量中添加或修改对应的宏名与值

你可能感兴趣的:(Windows,C++)