wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 1
Pub hébergeur
Pourquoi cette pub ?

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Mélange Shared/Static wxWidgets
Conversation : Mélange Shared/Static wxWidgets
27-04-2016 20:05:52  Mélange Shared/Static wxWidgets #1
paul_c_weiss (Membre)
Inscrit le : 07-12-2012
Messages: 16
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour!
J'ai dernièrement installé Code::Blocks 16.01 et wxWidgets 3.0 sous Windows 7.
J'ai téléchargé WxWidgets (compilé) à partir de ce site et j'ai scrupuleusement (du moins je crois..) suivi la procédure d'installation.
Apparemment tout marche bien! Les programmes compilent, tournent...
Or, en transférant un ancien programme, je suis tombé sur une erreur d'exécution qui est liée, je crois, à l'usage de wxSmith.J'ai donc contacté le forum de Code::Blocks pour poser ma question. Or, parmi les réponses, j'ai trouvé, entre autres:

"OP (Opening Post)is making a major wxWidgets/CB mistake. In places he has shared wxWidgets and in other he has static wxWidgets...."

Il n'est pas sûr du tout que cela explique l'erreur. Néanmoins ce n'est pas net, et je me demande comment j'ai pu me retrouver dans une telle situation.

J'ai crée le projet avec le Wizard de Code::Blocks avec les options:
wxSmith, Dialog Based
Use wxWidgets DLL. monolithic non coché, enable unicode

Et cela me semble tout....

Quelqu'un peut-il me dire

1) comment détecter ce mélange - je ne vois rien à la compilation/lien, etc..
2) Comment cela a-t-il pu arriver??

Merci d'avance!
28-04-2016 07:11:38  Re: Mélange Shared/Static wxWidgets #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1368
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Je ne pense pas que le mélange soit réellement effectif : tu aurais des erreurs à la compilation.

Malgré tout, tu peux vérifier les options de compilation du projet dans Code::Blocks.
En regardant les répertoires de recherche pour le compilateur, l'éditeur de liens et le compilateur de ressources, que ce soit au niveau global pour le projet ou pour une configuration spécifique, tu ne dois jamais avoir de mélange "gcc_lib" et "gcc_dll".

J'ai trouvé le topic sur le forum de Code::Blocks.
Je vais jeter un coup d'oeil au projet que tu as fourni.

@+
Xav'
----------
J'ai téléchargé le petit projet de test.

Le problème que j'ai eut lors de l'exécution se trouvait à la fermeture de la fenêtre (plantage de l'application) : je ne sais pas si c'est la même chose que toi ?

J'ai trouvé la source de ce problème dans le code du constructeur de la frame.
Il y a un sizer (nommé BoxSizer3) qui est affecté à la fois à un panel "enfant" de la frame nommé HidePanel (voir ligne 94) et il est ensuite affecté à la frame elle même (ligne 95).

En commentant les lignes 95 et 96, le plantage disparait.

Par contre, je ne comprends toujours pas pourquoi, sur le forum de Code::Blocks, on te dit que tu mélanges "static" et "shared".
Pour moi, le projet est nickel.
Le seul reproche que j'aurais à faire (et qui a également été signalé sur le forum de Code::Blocks) est que les chemins de recherche (include et link) sont donnés en dur (D:/wxW3/......).
Tu devrais essayer d'utiliser les variables globales de Code::Blocks, c'est bien pratique.

@+
Xav'

Dernière modification par Xaviou (28-04-2016 07:43:53)


Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
29-04-2016 09:29:18  Re: Mélange Shared/Static wxWidgets #3
paul_c_weiss (Membre)
Inscrit le : 07-12-2012
Messages: 16
Snippets: 0
Tutoriels: 0
Hors ligne
Merci pour ce travail!

Alors, quelques commentaires/questions:
1) Je travaille sur deux machines, l'une (principale) avec CB 13.12 et wxW 2.8, et l'autre (test) avec CB 16.01 et wxW 3.0. Sur les deux, mon programme plante, mais sur la première à la fin, et sur la seconde au début. ???.

2) J'avais bien identifié les deux lignes causant l'erreur, et vu que je pouvais les supprimer.
Mais bien sûr, toute modification faite avec wxSmith les re-crée... A mon avis, il s'agit d'un problème de wxSmith, mais est-il lié à la structure de ma fenêtre? Les gens de CB devraient pouvoir y répondre, mais ils se sont focalisés sur le fameux "mélange" peut-être inexistant.

2) Je me rends bien compte du problème causé par le codage "en dur" des chemins de recherche.
Je vois ceci à 3 endroits au moins:
- A la création du projet, CB me demande le chemin de wxWidgets,
- Dans les options du projet, pour ajouter une librairie supplémentaire (wxSQLite, par exemple...)
- Dans wxSmith, pour ajouter par exemple une icône.

Jusqu'ici, j'ai naïvement répondu à ces questions en appuyant sue le bouton "recherche" (i. e. ...). Et voilà le résultat. S'il existait un tutorial expliquant l'usage des variables globales, en particulier dans wxSmith, je serais preneur...

En tous cas, merci encore une fois.

Paul
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Mélange Shared/Static wxWidgets