【发布时间】:2015-04-10 18:04:00
【问题描述】:
我们有一个构建服务器,其 QT 版本与我的开发站不同。因此,如果我在我的开发站上安装由 Build 服务器构建的软件,我将无法启动该应用程序,因为该应用程序首先在我的 QT Creator 目录中查找。我有一个错误窗口告诉这个:
此应用程序无法启动,因为它无法找到或加载 QT 平台插件“windows”。可用的平台插件有:minimal、offscreen、windows、windows。
所以我需要将 c:\QT 重命名为 c:\QT.bak 之类的名称,现在我可以启动应用程序,因为它在应用程序安装路径中找到了正确的 DLL。
有谁知道如何解决这个问题?能够使用与 QT Creator 中的不同版本的 QT 运行应用程序。
所有计算机都使用 Windows。
谢谢
【问题讨论】:
-
这很奇怪。你的全局路径中有 c:\qt\something\bin 吗?或者是否设置了 QT_PLUGIN_PATH?另外,您本地 Qt 的安装路径可能与构建服务器上的安装路径相同。然后部署需要采取一些特殊措施来确保使用捆绑的 Qt 插件,而不是开发 Qt。
-
我的 PATH 中没有对 QT 文件夹的任何引用,并且 QT_PLUGIN_PATH 也没有设置。在构建服务器上,QT 安装在 c:\QT\5.3 和我的计算机上。我在两边都运行 QTDiag,构建服务器在 QT 5.3.1 上,我的是 QT 5.3.2。
-
然后我假设它会尝试从您的安装目录加载平台插件,而不是从构建服务器加载包。我认为像 Procmon、进程浏览器、依赖遍历器这样的工具可以用来检查它找到并加载了哪个插件库。
-
我第一次使用进程监视器,很好!我可以看到该过程首先查看QT安装,然后在安装目录中找到dll。是否可以进行构建并告诉它不要这样做?只看安装目录?
-
我也有同样的问题 => stackoverflow.com/questions/33503424/…