PDA

View Full Version : [C++] Libxml2 e Windows


poliUtente
24-08-2009, 11:24
Ciao a tutti.
Sono nuovo del forum e vorrei chiedervi una mano per risolvere un problema che ho incontrato durante lo svolgimento della mia tesi.
Sto scrivendo un'interfaccia per una carrozzina robotica controllata da un sistema BCI (Brain Computer Interface).
L'interfaccia gira su Ubuntu, mentre il sistema BCI utilizzato va sotto Windows. Per questo ho esportato in Windows le classi relative al sistema BCI, ma ho un problema con l'XML...

Infatti quando provo ad aprire un file XML il programma crasha. Ecco il codice (che sotto Ubuntu funziona alla perfezione):

#include <libxml/tree.h>
#include <libxml/parser.h>
...
xmlDocPtr XMLdocument;
const char* fileName = "myDestinations.xml";

XMLdocument = xmlReadFile (fileName, NULL, 0);

if (XMLdocument == NULL)
cout << "Failed to open file!\n";

Sto usando il compilatore Dev-C++ (che con le altre librerie funziona bene). Esso non ha le librerie XML nativamente installate, per questo ho preso il pacchetto "LibXML2 for dev-c++" e lo ho installato.
Non funzionava, cosė ho preso anche le librerie iconv e zlib.
A questo punto, il compilatore finisce il suo lavoro e crea il file .exe, ma quando lo metto in esecuzione, appare la finestra "Windows has encountered a problem...".
Ho fatto un debug del codice e ho notato che il crash avviene proprio in corrispondenza dell'istruzione "xmlReadFile".

A questo punto mi viene il dubbio che non sia riuscito ad installare correttamente le libxml2...

Avete qualche idea in proposito? :help:
Vi ringrazio anticipatamente

fero86
24-08-2009, 13:31
il codice che gira sotto Windows deve per forza usare questa libxml2? a meno che non debba girare anche sotto Linux sarebbe meglio usare il DOM: http://msdn.microsoft.com/en-us/library/ms766487(VS.85).aspx

PS: e butta via Dev-C++, qui puoi trovare Visual C++ 2008 Express: http://www.microsoft.com/express/download/