Forum QtFR

La communauté francophone Qt

Vous n'êtes pas identifié(e).

Annonce

Qt 4: 4.8.4 - Qt 5: 5.0.2 - Qt Creator: 2.7.0 - Qt Installer: 1.3.0 - VS Qt 4: 1.1.11 - VS Qt 5: 1.2.1 - Monkey Studio: 1.9.0.4

#1 08-05-2012 18:43:56

kide65
Pratiquant(e) Qt
Inscription : 06-04-2012
Messages : 96

Executable de grande taille en mode release.

Bonjour,

Me revoilà encore pour une autre question. Je m'apprête en effet à déployer mon logiciel, je le compile alors en mode "release" sous Qt Creator, sauf que l'exécutable créé a une taille de 7.5 Mo... Alors même qu'en "debug" il est à 5.5 Mo. J'ai alors regardé les drapeaux de compilation, QT_NO_DEBUG y est avec les optimisations O2.
J'aimerais donc savoir ce que je dois faire pour régler ce problème.

Merci.

Dernière modification par kide65 (08-05-2012 18:52:11)

Hors ligne

#2 08-05-2012 18:54:23

PapaJaac
Administrateur Qt
Lieu : Bordeaux
Inscription : 08-12-2008
Messages : 1 716

Re : Executable de grande taille en mode release.

Bonjour !

Même problème après un nettoyage (make clean ou Menu Compiler > Tout nettoyer) et une recompilation totale (make ou Menu Compiler > Tout recompiler) ?

Hors ligne

#3 08-05-2012 19:00:03

kide65
Pratiquant(e) Qt
Inscription : 06-04-2012
Messages : 96

Re : Executable de grande taille en mode release.

Oui j'ai tout nettoyé, même à la main. De plus que la cross-compilation vers Windows fait un exécutable de 900 Ko...

êtes-vous sous Linux ? Pour que je vous passe le code source pour essayer.

Hors ligne

#4 08-05-2012 19:16:23

myrddin772
Modérateur Qt
Inscription : 13-03-2010
Messages : 682

Re : Executable de grande taille en mode release.

900 ko sous Windows et 7,5 Mo sous Linux ???

C'est bizarre ça...


"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !

Hors ligne

#5 08-05-2012 20:16:19

PapaJaac
Administrateur Qt
Lieu : Bordeaux
Inscription : 08-12-2008
Messages : 1 716

Re : Executable de grande taille en mode release.

kide65 a écrit :

Oui j'ai tout nettoyé, même à la main. De plus que la cross-compilation vers Windows fait un exécutable de 900 Ko...

êtes-vous sous Linux ? Pour que je vous passe le code source pour essayer.

Je suis sous Linux (Mandriva 2010.2), utilise "E-mail" à gauche de ce message pour m'écrire. Ou mieux publie les sources quelque part et donne le lien.

Hors ligne

#6 08-05-2012 20:27:13

myrddin772
Modérateur Qt
Inscription : 13-03-2010
Messages : 682

Re : Executable de grande taille en mode release.

Moi, je suis sous Ubuntu 12.04, si ça peut aider wink


"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !

Hors ligne

#7 08-05-2012 20:44:24

kide65
Pratiquant(e) Qt
Inscription : 06-04-2012
Messages : 96

Re : Executable de grande taille en mode release.

Ok pas de problème, le code source est ici.
Ah oui, en passant, n'hésitez pas à m'en donner vos commentaires, c'est la version que je m'apprête à mettre en ligne.
Merci.

Hors ligne

#8 08-05-2012 22:02:16

myrddin772
Modérateur Qt
Inscription : 13-03-2010
Messages : 682

Re : Executable de grande taille en mode release.

Bon, quand je compile en mode Release, l'exécutable pèse 757,5 ko...

J'ai vu passer quelques avertissements à la compilation :

/media/Data/transfert/ZeGrapher/calcul.cpp: In member function 'double Calcul::calculate(FastTree*, double, short int)':
/media/Data/transfert/ZeGrapher/calcul.cpp:976:1: warning: control reaches end of non-void function [-Wreturn-type]
/media/Data/transfert/ZeGrapher/calcul.cpp: In member function 'double Calcul::calculateSeq(FastTree*, double, bool&)':
/media/Data/transfert/ZeGrapher/calcul.cpp:838:1: warning: control reaches end of non-void function [-Wreturn-type]
/media/Data/transfert/ZeGrapher/calcul.cpp: In member function 'FastTree* Calcul::createFastTree(short int, short int)':
/media/Data/transfert/ZeGrapher/calcul.cpp:704:1: warning: control reaches end of non-void function [-Wreturn-type]
...
/media/Data/transfert/ZeGrapher/printpreview.cpp:119:6: warning: unused parameter 'event' [-Wunused-parameter]
/media/Data/transfert/ZeGrapher/printpreview.cpp:515:6: warning: unused parameter 'event' [-Wunused-parameter]
/media/Data/transfert/ZeGrapher/printpreview.cpp:521:6: warning: unused parameter 'event' [-Wunused-parameter]
...
/media/Data/transfert/ZeGrapher/imagepreview.cpp:41:6: warning: unused parameter 'event' [-Wunused-parameter]
/media/Data/transfert/ZeGrapher/imagepreview.cpp:387:6: warning: unused parameter 'event' [-Wunused-parameter]
/media/Data/transfert/ZeGrapher/imagepreview.cpp:392:6: warning: unused parameter 'event' [-Wunused-parameter]
/media/Data/transfert/ZeGrapher/imagepreview.cpp:397:6: warning: unused parameter 'event' [-Wunused-parameter]
/media/Data/transfert/ZeGrapher/imagepreview.cpp:402:6: warning: unused parameter 'event' [-Wunused-parameter]
...
/media/Data/transfert/ZeGrapher/zegrapher.cpp: In member function 'void MainWindow::createMenus()':
/media/Data/transfert/ZeGrapher/zegrapher.cpp:160:17: warning: unused variable 'barreEtat' [-Wunused-variable]

Pas très grave, mais bon...


"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !

Hors ligne

#9 08-05-2012 22:56:09

Nicolas SOUCHON
Administrateur Qt
Inscription : 28-07-2007
Messages : 3 154

Re : Executable de grande taille en mode release.

myrddin772 a écrit :

calcul.cpp: In member function 'double Calcul::calculate(FastTree*, double, short int)':
calcul.cpp:976:1: warning: control reaches end of non-void function [-Wreturn-type]

Pas très grave, mais bon...

roll roll roll pas vraiment d'accord !

Hors ligne

#10 08-05-2012 23:25:32

myrddin772
Modérateur Qt
Inscription : 13-03-2010
Messages : 682

Re : Executable de grande taille en mode release.

wink c'est vrai qu'il vaut mieux éviter tout avertissement, personnellement je les annulerai...

Après... chacun fait ce qu'il veut wink roll

Dernière modification par myrddin772 (08-05-2012 23:26:00)


"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !

Hors ligne

#11 08-05-2012 23:37:11

PapaJaac
Administrateur Qt
Lieu : Bordeaux
Inscription : 08-12-2008
Messages : 1 716

Re : Executable de grande taille en mode release.

Mêmes alertes que les copains. Moi aussi je ne laisserais pas traîner ça.

Exécutable : 761,9 Kio (780163 octets) en mode release (Linux 64 bits, Qt 4.8.1)

Hors ligne

#12 09-05-2012 15:19:35

kide65
Pratiquant(e) Qt
Inscription : 06-04-2012
Messages : 96

Re : Executable de grande taille en mode release.

Merci pour ce test, pour ce qui est des avertissements de compilation, je suis juste fainéant pour mettre un "return" vers la fin des méthodes en question, mais elles n'atteindront en principe jamais la fin... Je vais en tout cas le faire suite à vos demandes tongue.
Sinon, il est donc où mon problème ? J'avoue que je suis à court d'idées...

[EDIT]: c'est bon, le lien du code source a été mis à jour avec un sans erreurs de compilation, enfin presque... J'ai encore un problème avec un "fenetrefonctions.ui" qui a une erreur, je ne sais pas comment la régler car c'est Qt Designer qui s'est trompé cool

Dernière modification par kide65 (09-05-2012 15:45:28)

Hors ligne

#13 09-05-2012 15:48:51

Nicolas SOUCHON
Administrateur Qt
Inscription : 28-07-2007
Messages : 3 154

Re : Executable de grande taille en mode release.

Mandriva 2010 PP
G++ 4.4.1
en mode release : 782163 octets

Hors ligne

#14 09-05-2012 15:49:22

PapaJaac
Administrateur Qt
Lieu : Bordeaux
Inscription : 08-12-2008
Messages : 1 716

Re : Executable de grande taille en mode release.

Je confirme : chez moi debug -> 5,4 Mo, release -> 761,9 Ko
L'os n'est donc pas dans ton projet.
Dans la config de Qt, alors ??
As-tu un autre projet à tester ? sinon tu peux t'en faire un vite fait et voir si tu as le même souci.

Hors ligne

#15 09-05-2012 15:54:11

kide65
Pratiquant(e) Qt
Inscription : 06-04-2012
Messages : 96

Re : Executable de grande taille en mode release.

Je confirme avec toi la taille du Debug, 5 481 535 octets, on a exactement la même chose.
Je vais compiler un exemple de Qt pour voir...

[EDIT]: ce problème est aussi dans les autres projets, j'ai compilé l'exemple "animatedtiles" de Qt, Debug : 603,7 ko et Release: 682 ko alors que celui que celui de Qt fait 220 ko...

Dernière modification par kide65 (09-05-2012 15:59:52)

Hors ligne

#16 09-05-2012 15:57:43

PapaJaac
Administrateur Qt
Lieu : Bordeaux
Inscription : 08-12-2008
Messages : 1 716

Re : Executable de grande taille en mode release.

Vois si ton exécutable est bien à l'endroit attendu :  Projets > Config de release > Case shadow build cochée ou non...

Hors ligne

#17 09-05-2012 16:00:38

kide65
Pratiquant(e) Qt
Inscription : 06-04-2012
Messages : 96

Re : Executable de grande taille en mode release.

ce problème est aussi dans les autres projets, j'ai compilé l'exemple "animatedtiles" de Qt, Debug : 603,7 ko et Release: 682 ko alors que celui de Qt fait 220 ko...

Shadow build est coché oui, je ne sais pas ce que c'est en plus... roll

Dernière modification par kide65 (09-05-2012 16:02:03)

Hors ligne

#18 09-05-2012 16:07:01

Nicolas SOUCHON
Administrateur Qt
Inscription : 28-07-2007
Messages : 3 154

Re : Executable de grande taille en mode release.

essaie peut-être

Hors ligne

#19 09-05-2012 16:12:39

kide65
Pratiquant(e) Qt
Inscription : 06-04-2012
Messages : 96

Re : Executable de grande taille en mode release.

Ah !!!!!! ça marche ! Je n'ai cependant pas très bien compris, il compile en debug même en release ?

En tout cas, merci beaucoup.

Hors ligne

#20 09-05-2012 16:21:01

Nicolas SOUCHON
Administrateur Qt
Inscription : 28-07-2007
Messages : 3 154

Re : Executable de grande taille en mode release.

kide65 a écrit :

Ah !!!!!! ça marche ! Je n'ai cependant pas très bien compris, il compile en debug même en release ?

En tout cas, merci beaucoup.

enchanté de l'apprendre !!!

mais c'est bien, pour ceux qui ont le même genre de souci, d'indiquer exactement ce qui a résolu ton problème

Hors ligne

#21 09-05-2012 18:37:27

kide65
Pratiquant(e) Qt
Inscription : 06-04-2012
Messages : 96

Re : Executable de grande taille en mode release.

Oui des fois je m'exprime mal, je n'ai fait qu'appliquer ta proposition, qui est d'ajouter :

Au fichier .pro de mon projet, ce qui a fait compiler deux version de mon programme: une "ZeGrapher.debug" qui fait 5.5 Mo et "ZeGrapher" tout court, qui est la version release a proprement parler, qui fait 750 Ko.

Voila, le sujet est donc resolu !

Hors ligne

#22 09-05-2012 18:43:46

Nicolas SOUCHON
Administrateur Qt
Inscription : 28-07-2007
Messages : 3 154

Re : Executable de grande taille en mode release.

ce n'est pas deux versions mais une seule

"il" compile en debug
    --> ZeGrapher : énoooooorme !!!
"il" sépare les infos de debug
    --> ZeGrapher : léger
    --> ZeGrapher.debug : les infos de debug : énoooooorme !!!

ceci dit, Qt dit :
"ça évite d'avoir deux versions : release et debug"

mais Qt se trompe :
on a une version debug sans symbole de debug, mais pas optimisée comme une vraie release

Hors ligne

#23 09-05-2012 19:57:14

kide65
Pratiquant(e) Qt
Inscription : 06-04-2012
Messages : 96

Re : Executable de grande taille en mode release.

Une dernière petite question, avec ce que je viens de faire, j'ai bien une version optimisée "release" prête pour le déploiement ?

Hors ligne

#24 09-05-2012 20:06:52

Nicolas SOUCHON
Administrateur Qt
Inscription : 28-07-2007
Messages : 3 154

Re : Executable de grande taille en mode release.

comme dit en #22

prête pour le déploiement : oui
optimisée : non

Hors ligne

#25 09-05-2012 20:09:54

kide65
Pratiquant(e) Qt
Inscription : 06-04-2012
Messages : 96

Re : Executable de grande taille en mode release.

Je suis désolé d'être aussi dérangeant, mais j'aimerais un peu plus d'aide sur l'optimisation donc...

Hors ligne

Pied de page des forums


Sitemap QtFR