2017-02-22 16 views
0

У меня проблема с приложением релиза, это не вижу драйвер psql, если я запускаю его exe из explorer. Но это отлично работает, если я запустить его с визуальной студии ...Приложение Qt release не видит плагин

Я помещаю эти файлы рядом с ехе, и никакого результата:

unins000.dat 
msvcp140.dll 
qsqlpsql.dll 
Qt5Core.dll 
Qt5Gui.dll 
Qt5Network.dll 
Qt5Sql.dll 
vccorlib140.dll 
Server.exe 
unins000.exe 
config.json 

ошибка:

QSqlDatabase: QPSQL driver not loaded 
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC ODBC3 QPSQL QPSQL7 

но я скомпилированный что плагин до!

Что может быть неправильным?

+0

Запустите его в Dependency Walker и посмотрите, отсутствуют ли у вас библиотеки DLL. – MrEricSir

+0

@MrEricSir не показывает ничего критического – ExiD

+1

@ExiD, вам нужно использовать [Profiling Profile Profiler] (http://www.dependencywalker.com/help/html/application_profiling.htm) для динамического обнаружения зависимостей (поскольку они загружается во время выполнения). Скорее всего, вы обнаружите, что вам нужно скопировать 'libpq.dll',' libintl.dll' в каталог вашего приложения. , , – Mike

ответ

1

Чтобы развернуть приложение qt с помощью плагинов, вы также должны добавить плагины в ту же папку, что и приложение. How to deploy qt applications with plugins

Вы также должны добавить папку платформы рядом с приложением, чтобы иметь возможность развернуть приложение на компьютерах, где qt недоступен.

Here is an example of my application Это в Linux, но то же самое относится и к окнам. Вы можете добавлять только sqldrivers в папку плагинов.

qt.conf file contaians: 

[Paths] 
Plugins=plugins 

Также запустите Dependency Walker, чтобы найти все зависимые библиотеки.

Смежные вопросы