Przy użyciu Qt przygotowałem już kilka projektów (głównie uczelniancych), ale teraz robię appkę hobbistycznie i chciałbym zrobię w końcu pierwszą wersję 'Release' - przenośną.
Oczywiście poszukałem trochę (i jeszcze więcej) informacji na ten temat i już myślałem, że wszystko udało mi się zrobić, a tu jak zwykle niespodzianka :@
Deyployment dotyczył aplikacji, która wykorzystuje :
- Qt 5.3
- PostgreSQL 9.3
Początkowo, do pliku wykonywalnego .exe, dołączyłem następujące biblioteki:
icudt52.dll
icuin52.dll
icuuc52.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Sql.dll
Qt5Widgets.dll
// do postgresa
libeay32.dll
libintl.dll
libpq.dll
ssleay32.dll
i wszystko zaczęło działać jak należy!, do czasu gdy nie przerzuciłem tego programy na inny komputer..
Tam też otrzymałem informację o problemach z biblioteką windows
, ale rozwiązanie szybko znalazłem, gdyż wystarczyło dodać plik qwindows.dll
w folderze platforms
. No i program zaczął się uruchamiać, ale pojawił się (bądź pozostał) problem z bazą danych, ponieważ dane z bazy danych nie pobierają się.. Mało tego, wydaje mi się, że w ogóle nie jest 'wykonywany' kod dotyczący sqla, bo label który powinien informować o stanie połączenia (Ok/error) pozostaje w stanie domyślnym, tzn. uruchamia się z setText'em = "..", czyli tak jak sobie to założyłem..
Na jednej stronie ( http://qt-project.org/wiki/Deploying-Windows-Applications#c51f11f88699739e191220ead9bfeea7 ) znalazłem, że do bazy danych wymagany jest jeszcze folder sqldrivers
(w moim przypadku) z plikiem qsqlpsql
, jednakże nic to niestety nie zmieniło..
- Ktoś z Was miał okazję robić deployment appki w Qt korzystającej z bazy danych (najlepiej PostgreSQL) ?**
Dodam jeszcze jako 'ciekawostkę', iż zniesmaczony tą sytuacją postanowiłem, na tym systemie gdzie wykonywałem test, zainstalować środowisko Qt i PostgreSQL i tam skompilować kod źródłowy aplikacji, i przy próbach uruchomieniowych (nie release) wszystko działa OK (jest połączenie z bazą danych).