Xerces XMLString::transcode = WTF ?!

Xerces XMLString::transcode = WTF ?! - C++ - Programmation

Marsh Posté le 22-08-2007 à 13:35:25    

Yo [:elmoricq]
 
J'ai un problème zarb avec XercesC, que j'ai isolé dans le petit bout de code suivant :

Code :
  1. #include <xercesc/util/XMLString.hpp>
  2.  
  3. XERCES_CPP_NAMESPACE_USE
  4.  
  5. int main(void)
  6. {
  7.   XMLCh *blabla = XMLString::transcode("blabla" );
  8.  
  9.   return 0;
  10. }


 
Voila. Ça utilise XMLString::transcode(), qui est une fonction bateau, et le résultat de l'exécution de ce programme c'est :

$ CC transcode_taiste.cc -I/home/scottinet/tmp/xerces-c-solaris_28-cc_62/include -L/home/scottinet/tmp/xerces-c-solaris_28-cc_62/lib -lxerces-c -g
 
$ a.out
Segmentation Fault (core dumped)
 
$ dbx a.out core
Reading a.out
core file header read successfully
Reading ld.so.1
Reading libxerces-c.so.27
(...blablalibs...)
t@1 (l@1) terminated by signal SEGV (no mapping at the fault address)
0xfeecbcd8: transcode+0x0030:   ld       [%o3], %o4
Current function is main
    7      XMLCh *blabla = XMLString::transcode("blabla" );
(dbx) where
current thread: t@1
  [1] xercesc_2_7::XMLString::transcode(0x0, 0x10bb4, 0xff04480c, 0x0, 0xfffefe0c, 0xfffefe0c), at 0xfeecbcd8  
=>[2] main(), line 7 in "transcode_taiste.cc"
(dbx)  
 


 
Est-ce que ce problème dit quelque chose à quelqu'un ?
Parce que de mon côté je suis un peu perdu, je ne capte pas ce qui ne va pas, et je ne trouve rien dans les documentations Xerces qui puissent expliquer ce comportement.

Reply

Marsh Posté le 22-08-2007 à 13:35:25   

Reply

Marsh Posté le 22-08-2007 à 14:25:18    

(de mémoire) Est-ce que tu n'aurais pas omis l'appel à XMLPlatformUtils::Initialize() ?

Reply

Marsh Posté le 22-08-2007 à 14:28:42    

Oh. My. God. Le con.

 

C'est marqué partout, absolument partout. Et ça m'est tellement sorti de la tête quand j'ai codé mes classes (le prog principal devait le faire), que même dans le petÿ exemple ci-dessus, j'ai oublié de le faire.

 

Si, c'est bien ça. J'ai pas fait Initialize(). Il ne me reste plus qu'à contacter les Russes pour qu'ils m'emmènent planter des drapeaux au Pole Nord.

 

Adieu.

 

edit : en tout cas merci ++fab, je sens que j'allais rester bloqué comme un con encore longtemps avec cette saloperie


Message édité par Elmoricq le 22-08-2007 à 14:35:48
Reply

Marsh Posté le 22-08-2007 à 14:35:45    

[:zytra]

Reply

Marsh Posté le 22-08-2007 à 14:38:13    

[:zytrasnif]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed