Запустите приложение 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
Более подробную информацию можно найти здесь