Wxwindows - incorporer code de base au code interface

Signaler
Messages postés
12
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
29 mai 2007
-
Messages postés
12
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
29 mai 2007
-
Bonjour tout le monde,

Voilà, je suis entrain de développer un ptit soft de style chat avec dev c++.

La partie communication marche bien (en fenetre dos) mais comme c'est moche j'ai decidé de creer une interface graphique pour egayer tout ça. J'ai choisi de la faire en utilisant wxwidgets (wxwindows). L'interface n'est pas finie mais je souhaite commencer à incorporer mon programme de base...C'est à ce moment que les difficultés commencent!!

Comment intégrer le code principal à celui de l'interface? Par exemple pour la partie écoute du server, j'ai bêtement fait un copier coller de mon code source principal dans la fonction correspondant à l'évènement 'ecoute du port xxx'..... et la le log me dit :

[Warning] ignoring #pragma comment

pour une des premières lignes de mon code:

#pragma comment(lib,"ws2_32.lib")

alors que la commande est reconnue et le lien parfaitement effectué en application console...gros problème donc!

Je ne sais absolument pas comment le résoudre pour le moment donc si vous avez des petits conseils à me donner ça me ferait le plus grand bien !

Merci pour votre aide !

5 réponses

Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
Bonjour,

Peut-être que ma source (http://www.cppfrance.com/code.aspx?ID=27142) pourras te montrer comment faire

Pour ton erreur sur la ligne #pragma il semble que GCC ne prenne pas en compte le prama comment. Pour ajouter un lib à lier il faut le faire dans les options du projet.

A+

Fred
Messages postés
12
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
29 mai 2007

Merci à toi Fred!!

Le problème est que ta source est vraiment complexe, il y a environ une quarantaine de fichiers cpp et de headers, je vais mettre au moins 1 semaine (sans dormir, manger et boire) pour la comprendre!!

Plus sérieusement, je trouve un peu dommage qu'il n'y ait (à priori) pas de compatibilité entre wxwigdet et l'api winsock (j'utilise la version 2). Des que je link la librairie winsock2.h (#include winsock2.h) j'ai une ribanbelle d'alertes du compilateur:

21 C:\DevCpp\include\wx\toplevel.h:159, from C:\DevCpp\include\wx\dialog.h In file included from C:/DevCpp/include/wx/toplevel.h:159, from C:/DevCpp/include/wx/dialog.h

21 C:\DevCpp\include\wx\dialog.h:21, from C:\DevCpp\include\wx\generic\textdlgg.h from C:/DevCpp/include/wx/dialog.h:21, from C:/DevCpp/include/wx/generic/textdlgg.h

La solution est-elle d'ajouter un fichier de type cpp au projet avec le #include <winsock2.h> et de faire appel a ce fichier dans mon evenement 'connection' ? Si oui comment faire cet appel ?
Arf ça me frustre !!!! Je suis pas loin de finir mon projet et ce problème me bloque !! Pourquoi ça peut jamais être simple ? C'est ça qui fait le charme me direz vous ?!

Enfin voilà, si vous avez une petite idée la-dessus...
Messages postés
12
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
29 mai 2007

Et bien sur, si je lie met la librairie libws2_32.a dans les liens des options du projet et que j'efface la ligne #include winsock2.h, le compilateur me dit :

107 C:\DevCpp\lib\GUI tests.cpp `WSADATA' undeclared (first use this function)

bref comme par hasard WSADATA est inconnu... pff !
Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
Si tu utilise wxWidgets il faudrait aulieu d'utiliser les appel natif à winsock que tu utilises les objets wxWidgets wxSocketBase, wxSocketServer et wxSocketClient

c'est ce que j'ai fait.

A+

Fred
Messages postés
12
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
29 mai 2007

Merci Fred, je ne connaissais pas ces objets wxwidget, je vais creuser dans ce sens, encore merci !! ;o)