Bonjour,

Je suis actuellement en stage et je travail sur un projet qui consiste à parser un document XML.
Pour cela je programme en C et j'utilise la librairie libXml2, mais j'ai un GROS problème pour son utilisation sous windows...

Je vous explique...

J'ai débuté mon projet sous Unix avec le compilateur GCC et la librairie libXml2 pré-existante, donc je n'ai pas eu besoin de d'installer la librairie, juste à ajouter les options de compilation et de linkage.
Jusque là tout se passait très bien, entre la compilation et l'exécution attendu du programme...

Sauf que dans le cadre du projet j'ai été amené à porter ce programme sous windows. Donc pour cela j'ai installé le compilateur MinGW et ajouté les librairies nécessaires : libXml2, iconv et zlib. Je me suis également assuré d'ajouter les bonnes options de compilation et de linkage sous mon IDE (éclipse).
Le programme compile sans problème, il s'exécute aussi mais s'arrête et renvoie une erreur windows à chaque libération de mémoire qui sont issues de la librairie libXml2, à savoir: xmlFree(), xmlFreeNode(), xmlFreeDoc()...(etc)

J'ai bien essayé d'iniber ces fonctions mais une erreur se produit sur l'exécution de la fonction xmlNodeGetContent() (Fonction de la librairie libXml2) au bout de plusieurs appels de cette fonction comme si la taille d'un buffer interne était dépassé (ce qui serait logique puisque j'inibe volontairement les fonctions de libérations de la mémoire ).

Donc ma question est la suivante:

Pourquoi je ne peux pas exécuter les fonctions de libération de la librairie sous windows et comment puis-je y remédier?


merci d'avance!