QT biblioteki

0

Chcę napisać pewną aplikację w QT (dla systemu Windows), ale zniechęciło mnie to, że program nie uruchomi się bez bibliotek DLL, a potrzebne biblioteki zajmują około 48MB.

Czy te wszystkie biblioteki są na pewno potrzebne? Powinienem je dołączyć do programu, czy liczyć na to, że użytkownik ma zainstalowane QT?

HO
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 11 lat
  • Postów:283
0

QT != Qt

Trzeba dostarczyć bibliotekę, nie wiadomo przecież czy użytkownik będzie miał a na dodatek czy będzie miał w odpowiedniej wersji. Wyjściem poniekąd jest skompilowania danego modułu Qt ręcznie - można przy niektórych modułach wyciąć część funkcji, można użyć flag dla kompilatora by np. osiągnąć mniejszy rozmiar. Wtedy będziesz miał bibliotekę szytą akurat pod Twój program i bardzo możliwe że plik dll będzie mniejszy niż standardowy.


Jeśli uważasz mój post za wartościowy - daj punkt.
Mój post pomógł Ci rozwiązać problem - zaznacz go. Pozdrawiam
MA
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 10 lat
0

Zawsze możesz skompilować sobie źródła QT statycznie. Wtedy jedyne co będzie potrzebne do opalenia programu to plik exe do którego zostaną wzięte tylko używane przez Ciebie funkcje z poszczególnych bibliotek.


Zero litości dla nieróbstwa.
HO
Jeśli program jest udostępniany innym za pieniądze lub bez to jeśli jest to aplikacja Qt skompilowana statycznie wtedy trzeba przestrzegać licencji GPL i udostępnić kod programu, więc trzeba z tym uważać.
HO
To dobrze i tego zabrakło w Twojej wypowiedzi a co jest ważne.
0

Dziękuję za odpowiedzi.

Nie chcę udostępniać użytkownikom kodu źródłowego mojej aplikacji. Rozumiem, że jeżeli biblioteki będą dołączane dynamicznie (w plikach .dll), to nie muszę udostępniać kodu?

HO
MarekR22
Moderator C/C++
  • Rejestracja:około 17 lat
  • Ostatnio:12 minut
0

Kompilacja statyczna nie jest konieczna. Można sobie dostosować co ma być w w tych dll-kach i w ten sposób nie naruszysz licencji GPL.
http://doc.qt.digia.com/qt/configure-options.html

jest też jakiś graficzny tool do rekonfiguracji, gdzie checkboxami można wybrać potrzebny zakres funkcjonalności Qt (linka nie znalazłem, sam poszukaj).
Najwięcej miejsca zajmują style (jest ich co najmniej 4), usunięcie ich (poza jednym) powinno znacznie odchudzić te biblioteki.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 2x, ostatnio: MarekR22
0

Dziękuję Wam bardzo za pomoc.

Ostatnie pytanie: Czy można wykorzystywać legalnie Qt do zastosowań komercyjnych?

MarekR22
jeśli masz darmową wersje to tak, dopóki biblioteki qt są ładowane dynamicznie (qt jako dll-ki, build ze statycznymi bibliotekami Qt jest niedozwolony) oraz jeśli publikujesz wszelkie zmiany wprowadzane do Qt (tego zapewne nie robisz).
HO
@Marek22 statyczna kompilacja wymaga upublicznienia źródeł co nie kłóci się z komercyjnym zastosowaniem. Można np. robić narzędzie wewnętrzne dla zamawiającego i tak on będzie właścicielem kodu, a program nie będzie dalej dystrybuowany przez niego. Kompilacja statyczna uprości wtedy np. deploy programu na stanowiska pracowników. W żaden sposób nie będzie to się kłóciło wtedy z GPL i zastosowaniem komercyjnym.
MarekR22
tak, ale zwykle dla komercyjnej aplikacji upublicznianie kodu jest niepożądane, wiec to jest problem. A co do uproszczenia deploy-u to bym się kłócił, to jedynie upraszcza sprawę temu co odpowiada za build.

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.