Russian Qt Forum
Ноябрь 23, 2024, 03:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не работает приложение с драйверов Postgresql на другой машине  (Прочитано 9206 раз)
bronstein87
Гость
« : Январь 17, 2017, 16:18 »

Откомпилил релизную версию приложения работающего с бд, накидал в папку все нужные длл-ки, длл-ки самого постгреса тоже положил, добавил плагин драйвера пострегса, после чего экзешник перестал чего-либо еще требовать и запустился. Затем я перенес приложение на другую машину, но там приложение почему-то не видит драйвер. Я уже замучался с этим, кто-нибудь, кто работал с постгресом через qt, подскажите в чем может быть проблема? dependency walker на другом компе показывает, что всё окей. Возможно, нужно устанавливать клиент постргеса на другой машине?
« Последнее редактирование: Январь 17, 2017, 16:23 от bronstein87 » Записан
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #1 : Январь 17, 2017, 17:36 »

qsqlpsql.dll где лежит?
Записан
bronstein87
Гость
« Ответ #2 : Январь 17, 2017, 17:39 »

qsqlpsql.dll где лежит?
\release\plugins\sqldrivers
Записан
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #3 : Январь 17, 2017, 17:42 »

Цитировать
Затем я перенес приложение на другую машину

и сделали там папку \release\plugins\sqldrivers?
Записан
bronstein87
Гость
« Ответ #4 : Январь 17, 2017, 17:48 »

Цитировать
Затем я перенес приложение на другую машину

и сделали там папку \release\plugins\sqldrivers?

да, \plugins\sqldrivers все это там есть
Записан
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #5 : Январь 17, 2017, 17:55 »

Чаще всего я использую такую структуру:

Код:
/MyProgram  
    /sqldrivers
        - qsqlpsql.dll
- myprogramm.exe
- Qt5Core.dll
- все остальные библиотеки

Попробуйте расположить плагины Qt не в "plugins\sqldrivers", а сразу в "sqldrivers"
« Последнее редактирование: Январь 17, 2017, 17:57 от PimenS » Записан
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #6 : Январь 17, 2017, 18:02 »

Еще как вариант.

Часто нужно устанавливать распространяемые пакеты Visual C++, для правильной работы библиотек PostgreSQL.
Записан
GraninDm
Гость
« Ответ #7 : Январь 18, 2017, 09:42 »

Это часть из моего инсталятора
[Files]
Source: "z:\Coding\qt\Reports\Reports-Desktop_Qt_5_6_0_MinGW_32bit\release\Reports.exe"; DestDir: "{app}"
Source: "{#Qt5DllDir}bin\Qt5Core.dll"; DestDir: "{app}"
Source: "{#Qt5DllDir}bin\Qt5Gui.dll"; DestDir: "{app}"
Source: "{#Qt5DllDir}bin\Qt5Sql.dll"; DestDir: "{app}"
Source: "{#Qt5DllDir}bin\Qt5Widgets.dll"; DestDir: "{app}"
Source: "{#Qt5DllDir}bin\Qt5SerialPort.dll"; DestDir: "{app}"
Source: "{#Qt5DllDir}bin\libgcc_s_dw2-1.dll"; DestDir: "{app}"
Source: "{#Qt5DllDir}bin\libwinpthread-1.dll"; DestDir: "{app}"
Source: "{#Qt5DllDir}bin\libstdc++-6.dll"; DestDir: "{app}"
Source: "{#Qt5DllDir}bin\icuin54.dll"; DestDir: "{app}"
Source: "{#Qt5DllDir}bin\icuuc54.dll"; DestDir: "{app}"
Source: "{#Qt5DllDir}bin\icudt54.dll"; DestDir: "{app}"
Source: "{#Qt5DllDir}plugins\platforms\qwindows.dll"; DestDir: "{app}\platforms"
Source: "{#Qt5DllDir}plugins\sqldrivers\qsqlpsql.dll"; DestDir: "{app}\sqldrivers"
Source: "{#PgSqlDllDir}libpq.dll"; DestDir: "{app}"
Source: "{#PgSqlDllDir}libintl.dll"; DestDir: "{app}"
Source: "{#PgSqlDllDir}libeay32.dll"; DestDir: "{app}"
Source: "{#PgSqlDllDir}ssleay32.dll"; DestDir: "{app}"
Source: "c:\Windows\System32\msvcr100.dll"; DestDir: "{app}"
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #8 : Январь 18, 2017, 09:52 »

Чтобы не гадать, возьмите вот это и проверьте на целевой машине на предмет недостающих модулей. Версия утилиты (x86 или x64) определяется не разрядностью ОС, а разрядностью исследуемой программы или библиотеки.
Записан
GraninDm
Гость
« Ответ #9 : Январь 18, 2017, 09:57 »

Так он написал:
dependency walker на другом компе показывает, что всё окей
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #10 : Январь 18, 2017, 10:03 »

Мне под виндой помогало делать    QCoreApplication::addLibraryPath (QCoreApplication::applicationDirPath () + "/plugins/");
Правда, давно это было.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #11 : Январь 18, 2017, 10:04 »

Walker'ом нужно проверить не только сам *.exe, но и плагины тоже. Для Qt модели подключения плагинов он не умеет распознавать такие зависимости. А чудес не бывает - или чего-то не хватает, или другая разрядность библиотеки Postgre.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 23.