Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt]Rozmiar aplikacji.

Ostatnio zmodyfikowano 2014-07-01 17:59
Autor Wiadomość
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.

C/C++
//main.cpp
#include "mainwindow.hpp"
#include <QApplication>


//mainwindow.cpp
#include "mainwindow.hpp"
#include "ui_mainwindow.h"
#include <QMainWindow>
#include <QMessageBox>


//mainwindow.hpp
#include <QMainWindow>

Używam wersji qt 5.3.
P-113043
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.
P-113046
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?
P-113049
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.
P-113051
« 1 »
  Strona 1 z 1