Запустите приложение Qt из командного файла

Я разработал приложение в 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

2 ответа

Проблема была в том, что один из моих коллег добавил в основную функцию следующую строку во время тестирования.

QCoreApplication::addLibraryPath("./");

После удаления этой строки он начал работать с командным файлом. Но я так и не понял, почему возникла проблема только тогда, когда мы запустили ее из командного файла. хотя я поместил командный файл в ту же папку, что и исполняемый файл.

Похоже, ваш исполняемый файл пытается получить доступ к жестко закодированным (что делает Qt Creator) путям библиотеки. Если вы скопировали все dll файлы, необходимые для запуска вашего исполняемого файла в том же каталоге, что и ваш исполняемый файл, попробуйте это.

Создайте файл с именем qt.conf и поместите его в тот же каталог, что и ваш исполняемый файл. Добавьте необходимые вещи, как это.

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

Более подробную информацию можно найти здесь

Другие вопросы по тегам