Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2159 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Erreur de débutant et utilisation lib Eet

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur de débutant et utilisation lib Eet

n°1873821
esox_ch
Posté le 16-04-2009 à 14:40:46  profilanswer
 

Bonjour,
 
Bon avant tout, je précise que je n'ai jamais eu un cours de C++ digne de ce nom (les profs sont passés du "on apprendra le C++" au "on à appris le C++" en quelques semaines, donc merci de ne pas me décapiter pour les (nombreuses) erreurs que j'ai comises.
 
J'essaie en ce moment d'utiliser la librairie Eet, qui permet de manipuler des fichiers de configuration crées par mon serveur gestionnaire de bureau (E17) afin de les interfacer avec une petite suite de logiciels que j'écris dans un langage que je maîtrise mieux (Ruby).
Le soucis c'est que vu que je n'y connais pas grand chose en C++ , je me cogne à pas mal de soucis.
Celui qui m'occupe en ce moment est tout simplement un problème lié au linkage des fichiers. En effet en cours on nous fournissait toujours un joli makefile déjà écrit et on ne nous disait rien d'autre que de taper "make all" quand on avait fini notre bout de code.
Bref, j'ai repris un bout de code de la documentation de eet :  
 

Code :
  1. #include <Eet.h>
  2. int
  3. main(int argc, char **argv)
  4. {
  5.   Eet_File *ef;
  6.   void     *ret;
  7.   int       size;
  8.   eet_init();
  9.   // open the file again and blindly get the entries we wrote
  10.   ef = eet_open("../.e/estickies/config.eet", EET_FILE_MODE_READ);
  11.   ret = eet_read(ef, "Entry 1", &size);
  12.   printf("%s\n", ret);
  13.   ret = eet_read(ef, "Entry 2", &size);
  14.   printf("%s\n", ret);
  15.   ret = eet_read(ef, "Entry 3", &size);
  16.   printf("%s\n", ret);
  17.   eet_close(ef);
  18.   eet_shutdown();
  19. }


 
Et bien sur, ça ne marche pas :
 

Citation :


$ g++ -Wall -W -pedantic test.cpp -o test
test.cpp: In function ‘int main(int, char**)’:
test.cpp:15: warning: format ‘%s’ expects type ‘char*’, but argument 2 has type ‘void*’
test.cpp:17: warning: format ‘%s’ expects type ‘char*’, but argument 2 has type ‘void*’
test.cpp:19: warning: format ‘%s’ expects type ‘char*’, but argument 2 has type ‘void*’
test.cpp: At global scope:
test.cpp:4: warning: unused parameter ‘argc’
test.cpp:4: warning: unused parameter ‘argv’
/tmp/ccEp8lFW.o: In function `main':
test.cpp:(.text+0x12): undefined reference to `eet_init'
test.cpp:(.text+0x26): undefined reference to `eet_open'
test.cpp:(.text+0x43): undefined reference to `eet_read'
test.cpp:(.text+0x6b): undefined reference to `eet_read'
test.cpp:(.text+0x93): undefined reference to `eet_read'
test.cpp:(.text+0xac): undefined reference to `eet_close'
test.cpp:(.text+0xb1): undefined reference to `eet_shutdown'
collect2: ld returned 1 exit status


 
Si j'ai bien compris ce que j'ai lu sur le net, ça vient du fait que le linker ne trouve pas le Eet.o non? En effet, sur mon système je vois bien un Eet.h dans /usr/include/Eet.h mais aucun Eet.o, mais comment corriger ça?
 
Merci d'avance et désolé pour la question de débutant.


Message édité par esox_ch le 16-04-2009 à 14:40:58

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 16-04-2009 à 14:40:46  profilanswer
 

n°1873953
esox_ch
Posté le 16-04-2009 à 16:18:37  profilanswer
 

Un ami apitoyé par mon sort m'a donné la solution. Il suffisait en fait d'ajouter un :  
-leet à la fin de la commande g++ :
 

Citation :


g++ -Wall -W -pedantic test.cpp -o test -leet


Et voilà


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Erreur de débutant et utilisation lib Eet

 

Sujets relatifs
[C#] upload sur serveur + erreur 550(Débutant) Chaine de caractère : problème
Comportement à observer en cas d'erreur de mysqlutilisation personnalisée de Google Map
Choix d'un CMS - Utilisation partculièreErreur d'execution '9' VBA sur Excel 2007
[debutant] programmation objet et formulaire.erreur lors de compilation
erreur split() REG_BADRPTUtilisation d'API
Plus de sujets relatifs à : Erreur de débutant et utilisation lib Eet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR