[Qt]Rozmiar aplikacji.
Ostatnio zmodyfikowano 2014-07-01 17:59
Harrel Temat założony przez niniejszego użytkownika |
[Qt]Rozmiar aplikacji. » 2014-07-01 16:39:14 Witam, mam problem z aplikacja utworzoną w QtCreator. Sam plik *.exe zajmuje 29Kb ale by aplikacja się uruchomiła potrzeba kilku plików *.dll (aż 9), które ważą około 40-50Mb. Mija się to trochę z celem, gdyż jakim prawem aplikacja zawierająca tylko msg box potrzebuje aż tyle miejsca na dysku. Próbowałem dowiedzieć się czegoś na forach qt i okazuje się, że chyba jedynym wyjściem jest zmiana dynamic linking na static linking. Jest to jednak zadanie tak trudne (czytałem wiele tutoriali jednak każdy jest inny i tak skomplikowany, że trochę mnie to przerosło(może ktoś mógłby mi to wytłumaczyć w sposób łopatologiczny?)), że postanowiłem tymczasowo zostać przy dynamic linking. Widziałem jednak, że niektórym osobom przy tym sposobie łączenia udawało się uzyskać rozmiar 10-20Mb(taki rozmiar już jest do zaakceptowania). I tu moje pytanie: w jaki sposób zmniejszyć ilość plików *.dll dołączanych do programu? Czy jest to w ogóle możliwe? Myślę, że ograniczyłem includowane biblioteki do minimum, jednak to się zdaje nie mieć znaczenia, bo ostatecznie zawsze potrzebuję takiej samej ilości plików *.dll. #include "mainwindow.hpp" #include <QApplication>
#include "mainwindow.hpp" #include "ui_mainwindow.h" #include <QMainWindow> #include <QMessageBox>
#include <QMainWindow>
Używam wersji qt 5.3. |
|
pekfos |
» 2014-07-01 17:25:07 | Mija się to trochę z celem, gdyż jakim prawem aplikacja zawierająca tylko msg box potrzebuje aż tyle miejsca na dysku. |
Biblioteki DLL wystarczy zainstalować w systemie i zmienia się wygląd sytuacji. Podobnie, choć to niezbyt dobre porównanie, jest z Javą, hello world zajmuje kilkaset bajtów, ale jeśli doliczyć rozmiar środowiska potrzebnego by to odpalić, to Qt nie najgorzej wygląda. | Myślę, że ograniczyłem includowane biblioteki do minimum, jednak to się zdaje nie mieć znaczenia, bo ostatecznie zawsze potrzebuję takiej samej ilości plików *.dll. |
Musiałbyś zmniejszyć ilość linkowanych bibliotek, by było potrzebnych mniej bibliotek DLL. Możesz też zmienić łączenie na statyczne, ale to jest afaik ograniczone przez licencję Qt. |
|
Harrel Temat założony przez niniejszego użytkownika |
» 2014-07-01 17:45:05 | Musiałbyś zmniejszyć ilość linkowanych bibliotek, by było potrzebnych mniej bibliotek DLL. |
A coś takiego jest w ogóle wykonalne? |
|
pekfos |
» 2014-07-01 17:59:15 | A coś takiego jest w ogóle wykonalne? |
W QtCreatorze? Nie mam pojęcia. W każdym normalnym IDE - oczywiście. Pomijam tu możliwość, że wszystkie biblioteki są niezbędne. | Ps. Jak cytować wypowiedzi? |
Link jest w na tyle widocznym miejscu i prowadzi do dokumentu który powinieneś znać, więc takiego pytania nie może być. Lepszej odpowiedzi też nie będzie. |
|
| « 1 » |