Przygotowanie aplikacji QT dla klienta

Przygotowanie aplikacji QT dla klienta
0

Witam. Napisałem sobie prosty, mały (tak mi się wydawało) program w QT, który korzysta z GraphicsView. Program wiele nie robi i ma docelowo zajmować kilka mega. Podczas uruchamiania, prosi mnie o bibliotekę QtCored4 , QtGuid4 itp . QtGuid4 zajmuje około 150 MEGA ... Proszę powiedzcie mi, że to się da jakoś obejść, żeby ludzie nie musieli ściągać 200 megsów bibliotek w celu odpalenia 4 megowego programiku .

hauleth
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:10 dni
0

Skompilować statycznie, ale wtedy program musi być na licencji LGPL i będzie trochę większy niż 4 MiB.


SI
  • Rejestracja:około 16 lat
  • Ostatnio:ponad 3 lata
0

Jak używasz Qt Creator to zmień konfigurację budowania z Debug na Release.

hauleth
To i tak nic nie zmieni bo będzie i tak musiał rozpowszechniać z DLL'kami (tyle, że mniejszymi bo bez symboli debuggera).
MasterBLB
Tyle,że to są spore różnice.QtGui4.dll ma 7.5MB,a w wersji debug 12MB,przy core to debug jest niemal 100% większy. Właśnie,jakim cudem Twoje QtGuid4.dll ma 150MB?
SI
Dokładnie, różnice nie są takie małe, więc opłaca się budować finalne programy w konfiguracji Release zamiast Debug.
hauleth
Mi chodziło o rozpowszechnianie DLLek, a nie o rozmiar.
MasterBLB
Dostarczyć biblioteki Qt takim czy innym sposobem przecież musi,a jeśli zlinkuje dynamicznie to przynajmniej nie będzie musiał się babrać z udostępnianiem kodu na licencji LGPL
0

Panowie - po pierwsze - w życiu do głowy by mi nie przyszło, aby wydawać program w wersji Debug ... Po drugie - najnowsze QtSDK, ścieżka : C:\QtSDK\Desktop\Qt\4.7.3\mingw\bin\QtGuid4.dll = 151570 KB , podczas gdy QtGui4.dll = 9619 KB ... Niestety mój program wymaga QtGuid4.dll , podejrzewam, że ze względu na Graphics View :(

0

Spróbuj zbudować okrojoną wersję QtCore i QtGui. Zaglądałeś tutaj?

SI
  • Rejestracja:około 16 lat
  • Ostatnio:ponad 3 lata
0

Jak nie wydajesz w konfiguracji Debug, to dziwne, że wymagany jets plik QtGuid4.dll, skoro jest to biblioteka używana przy programach w konfiguracji Debug (stąd to d przed 4). Powinno brakować pliku QtGui4.dll i nie wydaje mi się, żeby miało to jakikolwiek związek z tym, że używasz QGraphicsView.

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 13 godzin
0

jeżeli czepia się o qtguid4.dll to znaczy że jest to build debugowy, a jeżeli masz wybrane „release” to znaczy że masz projekt skaszaniony.

RE
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około rok
0

Dodatkowo, jak jeszcze sam skompilujesz QT (w release oczywiście ;)) i zrezygnujesz z co poniektórych rzeczy to z qtcore i qtgui możesz zejść do ~2mb (po potraktowaniu upx jeszcze na koniec).

several
  • Rejestracja:prawie 16 lat
  • Ostatnio:około 6 godzin
0

Jeżeli po kompilacji release plik wykonywalny woła Ci dllki dla debug builda (QtCored4.dll , QtGuid4.dll) to znaczy że masz coś w opcjach projektu skaszanione i przy kompilacji release linkuje Ci biblioteki dla kompilacji debug. Miałem podobną sytuację z Qwt, po kompilacji release wołał mi dllki dla debuga, po jakiejś pół godzinie zorientowałem się że dla obydwóch typów kompilacji IDE ładowało mi qwtd.a. Z Qwt musiałem sobie poradzić dopisując odpowiednie procedury w pliku projektu (*.pro), u Ciebie podejrzewam wystarczy zrobić nowy projekt i dołączyć stare źródła.


MarekR22
wystarczy, że pokaże pliki projektu *.pro a się to naprawi!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.