0

我在 Qt 和 Qt Creator 之外开发了一个应用程序,当我运行这个应用程序时,它可以工作。但是当我使用批处理文件来执行应用程序时,我得到了这个错误:

应用程序无法启动,因为它无法找到或加载 Qt 平台插件“Windows

我已经包含了所有 dll,包括 platform/qwindows.dll,但我无法理解问题所在。知道有什么问题吗?

之前,我以为我使用了一个没有正确设置的外部库,但是为了测试目的而删除了外部库后,问题仍然存在。

批处理文件的内容是:

@echo off

set VMT=\\serverName\DEV
set BC_VERSION=v1.0

echo Test release of BeamConfigurator %BC_VERSION%

set BC_HOMEDIR=%VISMT%\BeamConfigurator\%BC_VERSION%
set BC_BINDIR=%ABC_HOMEDIR%\bin

echo %BC_BINDIR%

start /WAIT /B /LOW %BC_BINDIR%\BeamConfigurator.exe
4

2 回答 2

1

问题是我的一位同事在测试某些东西时在 main 函数中添加了以下行。

QCoreApplication::addLibraryPath("./");

删除此行后,它开始使用批处理文件。但是我仍然不明白为什么只有当我们从批处理文件启动它时才会出现问题。即使我已将批处理文件与可执行文件放在同一文件夹中。

于 2015-09-18T12:01:29.007 回答
1

看起来您的可执行文件正在尝试访问硬编码(Qt Creator 所做的)库路径。如果您已将dll运行可执行文件所需的所有文件复制到与可执行文件相同的目录中,请尝试此操作。

创建一个名为的文件qt.conf并将其放在与可执行文件相同的目录中。像这样添加所需的东西。

[Paths]
Prefix = /some/path
Translations = i18n
Plugins = plugins

更多信息可以在这里找到

于 2015-09-17T10:50:18.163 回答