Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: trot от Январь 25, 2012, 14:43



Название: Запуск Qt приложения где не установлена Qt
Отправлено: trot от Январь 25, 2012, 14:43
Сделал Qt приложение. Для его запуска на другой машине перенес туда все необходимые dll. Но столкнулся с проблемой, что драйвер базы данных не грузится (хотя библиотека находится рядом с приложением).
После того как на целевой машине повторил часть структуры каталога, где находятся плагины машины компиляции и скопировал туда библиотеку, драйвер загрузился. Т.е. приложение пытается грузить дрова базы данных по тому пути, по которому они находятся на машине сборки приложения. Как заставить приложение грузить плагины (библиотеки дров БД), которые лежат рядом.
Спасибо


Название: Re: Запуск Qt приложения где не установлена Qt
Отправлено: ddrtn от Январь 25, 2012, 14:45
в папке с exe папка sqldrivers, а в ней плагины драйверов. должно работать


Название: Re: Запуск Qt приложения где не установлена Qt
Отправлено: Rem Norton от Январь 26, 2012, 09:34
Значит так, если хочешь, чтобы плагины подгружались из любой папки, то рядом с exe ложишь файл qt.conf. В нем пишешь:
Plugins = <твоя папка>. Ну и соответственно плагины sql ложишь в <твоя папка>/sqldrivers, jpeg, gif и т.д. в <твоя папка>/imageformats. Ну и так далее.


Название: Re: Запуск Qt приложения где не установлена Qt
Отправлено: Пантер от Январь 26, 2012, 09:44
file.exe
plugins\sqldrivers\

И еще добавь в main вот такую строчку:
QCoreApplication::addLibraryPath (app.applicationDirPath () + "/plugins/");


Название: Re: Запуск Qt приложения где не установлена Qt
Отправлено: trot от Январь 26, 2012, 10:31
Сделал файл qt.conf и все заработало как надо. Всем спасибо