DevC++, WxWidgets et Xml + déployement de soft c++
DevC++, WxWidgets et Xml + déployement de soft c++ - C++ - Programmation
MarshPosté le 28-03-2004 à 15:03:35
Bijour tout le monde !!
Vala. J'aimerai développer une application serveur socket pouvant travailler de pair avec une animation flash. J'aimerai que le tout soit multi-OS. J'ai donc choisi de travailler avec les librairies wxWidgets. (je ne sais d'ailleurs pas si le fait de développer avec devC++ sur windows empêcherai ensuite la portabilité de mon projet, mais en théorie, je pense que non)
Donc, pour faire mon serveur, j'ai besoin d'une classe socket, wxSocket. Ensuite, le truc, c'est que flash possède non pas des méthodes socket, mais xmlSocket. Donc pour récupérer mes données, je passe du xmlSocket au socket. Et au niveau serveur, je dois utiliser une librairie xml pour gérer le stream reçu.
J'ai donc fait quelques recherches, et je suis tombé sur Xerces C++, librairie open-source avec DOM, SAX, etc... Je l'installe dans un répertoire, applique le PATH, puis à partir de mon projet, je fais le linkage (dans les options de projets).
J'ai déjà un projet en cours, donc je crée une nouvelle source, et je copie-colle un exemple de la librairie Xerces dedans, puis j'enregistre mon fichier (untitled2.cpp).
Là je compile, et je me retrouve avec différentes erreurs de compilation, dont des conflits entre classes Xerces et classes DevC++
In file included from c:\Dev\Cpp\xerces\include\xercesc\util\XMLString.hpp:258, from e:\projects\devcppprojects\helloworld\untitled2.cpp:2: c:\Dev\Cpp\xerces\include\xercesc\util\Compilers\GCCDefs.hpp:229: previous declaration of `int stricmp(const char *, const char *)' with C++ linkage C:\Dev\Cpp\DevCpp\Include\string.h:167: conflicts with new declaration with C linkage c:\Dev\Cpp\xerces\include\xercesc\util\Compilers\GCCDefs.hpp:230: previous declaration of `int strnicmp(const char *, const char *, unsigned int)' with C++ linkage C:\Dev\Cpp\DevCpp\Include\string.h:171: conflicts with new declaration with C linkage e:\projects\devcppprojects\helloworld\untitled2.cpp: In function `int main(int, char **)': e:\projects\devcppprojects\helloworld\untitled2.cpp:62: exception handling disabled, use -fexceptions to enable e:\projects\devcppprojects\helloworld\untitled2.cpp:69: `toCatch' undeclared (first use this function) e:\projects\devcppprojects\helloworld\untitled2.cpp:69: (Each undeclared identifier is reported only once e:\projects\devcppprojects\helloworld\untitled2.cpp:69: for each function it appears in.) e:\projects\devcppprojects\helloworld\untitled2.cpp:150: `e' undeclared (first use this function)
Alors je me pose quelques questions... dois-je spécifier le PATH xerces avant le PATH devC++ ?? est-ce que c'est une question d'ordre d'installation ?? est-ce que je peux me passer de Xerces et utiliser une autre librairie (qui reste multi-os) ??
Ensuite, ma 2ème question... je ne connais que très peu linux, et je crois que les programmes sont fournis en "packages". existe-t-il un type d'application tels que les exe sur windows ?? Est-il possible de créer une application multi-plateforme qui soit auto-exécutable ? qui ne necéssite pas d'installation particulière ?
En fait, en quelque sorte, avoir un fichier unique qui contienne le serveur socket, ainsi que le parser xml et les modules de gestion. Que j'aie la possibilité de créer un fichier de lancement (bat pour windows, par exemple) qui me permette de lancer et le swf, et le serveur socket en attente des données du swf. Donc 3 fichiers en tout, et que ça tourne sur n'importe quelle plateforme ??
Peut-être que je dis des conneries et que vous allez rigoler en lisant ma question, mais comme je ne connais pas beaucoup linux, je m'informe
Marsh Posté le 28-03-2004 à 15:03:35
Bijour tout le monde !!
Vala. J'aimerai développer une application serveur socket pouvant travailler de pair avec une animation flash.
J'aimerai que le tout soit multi-OS. J'ai donc choisi de travailler avec les librairies wxWidgets. (je ne sais d'ailleurs pas si le fait de développer avec devC++ sur windows empêcherai ensuite la portabilité de mon projet, mais en théorie, je pense que non)
Donc, pour faire mon serveur, j'ai besoin d'une classe socket, wxSocket. Ensuite, le truc, c'est que flash possède non pas des méthodes socket, mais xmlSocket. Donc pour récupérer mes données, je passe du xmlSocket au socket. Et au niveau serveur, je dois utiliser une librairie xml pour gérer le stream reçu.
J'ai donc fait quelques recherches, et je suis tombé sur Xerces C++, librairie open-source avec DOM, SAX, etc...
Je l'installe dans un répertoire, applique le PATH, puis à partir de mon projet, je fais le linkage (dans les options de projets).
J'ai déjà un projet en cours, donc je crée une nouvelle source, et je copie-colle un exemple de la librairie Xerces dedans, puis j'enregistre mon fichier (untitled2.cpp).
Là je compile, et je me retrouve avec différentes erreurs de compilation, dont des conflits entre classes Xerces et classes DevC++
In file included from c:\Dev\Cpp\xerces\include\xercesc\util\XMLString.hpp:258,
from e:\projects\devcppprojects\helloworld\untitled2.cpp:2:
c:\Dev\Cpp\xerces\include\xercesc\util\Compilers\GCCDefs.hpp:229: previous declaration of `int stricmp(const char *, const char *)' with C++ linkage
C:\Dev\Cpp\DevCpp\Include\string.h:167: conflicts with new declaration with C linkage
c:\Dev\Cpp\xerces\include\xercesc\util\Compilers\GCCDefs.hpp:230: previous declaration of `int strnicmp(const char *, const char *, unsigned int)' with C++ linkage
C:\Dev\Cpp\DevCpp\Include\string.h:171: conflicts with new declaration with C linkage
e:\projects\devcppprojects\helloworld\untitled2.cpp: In function `int main(int, char **)':
e:\projects\devcppprojects\helloworld\untitled2.cpp:62: exception handling disabled, use -fexceptions to enable
e:\projects\devcppprojects\helloworld\untitled2.cpp:69: `toCatch' undeclared (first use this function)
e:\projects\devcppprojects\helloworld\untitled2.cpp:69: (Each undeclared identifier is reported only once
e:\projects\devcppprojects\helloworld\untitled2.cpp:69: for each function it appears in.)
e:\projects\devcppprojects\helloworld\untitled2.cpp:150: `e' undeclared (first use this function)
Alors je me pose quelques questions... dois-je spécifier le PATH xerces avant le PATH devC++ ?? est-ce que c'est une question d'ordre d'installation ?? est-ce que je peux me passer de Xerces et utiliser une autre librairie (qui reste multi-os) ??
Ensuite, ma 2ème question... je ne connais que très peu linux, et je crois que les programmes sont fournis en "packages". existe-t-il un type d'application tels que les exe sur windows ?? Est-il possible de créer une application multi-plateforme qui soit auto-exécutable ? qui ne necéssite pas d'installation particulière ?
En fait, en quelque sorte, avoir un fichier unique qui contienne le serveur socket, ainsi que le parser xml et les modules de gestion. Que j'aie la possibilité de créer un fichier de lancement (bat pour windows, par exemple) qui me permette de lancer et le swf, et le serveur socket en attente des données du swf. Donc 3 fichiers en tout, et que ça tourne sur n'importe quelle plateforme ??
Peut-être que je dis des conneries et que vous allez rigoler en lisant ma question, mais comme je ne connais pas beaucoup linux, je m'informe
a++