Daniel Corbe wrote:
> /* Begin code snippet */
> xmlDocPtr mtp3;
> FILE *xml;
>
> mtp3 = xmlReadFile(config->MTP3filename, NULL, 0); xml =
> fopen(config->MTP3filename, FOPEN_MODE_OVERWRITE); if (!xml ||
> ferror(xml)) {
>
> outputf("ERROR WRITING MTP3 XML File: %s\n", strerror(errno)); } else
> { xmlDocDump(xml, mtp3); fclose(xml); }
(...)
> I've tried building my app on both debug and release, and the same thing 
> happens.
> You're saying there may be something wrong with my build environment?
(...)
>       libxml2-2.6.30 (binary) as gotten from:
>       http://www.zlatkovic.com/libxml.en.html


This cannot work.
You cannot reliably work with FILE* as a parameter to any dll unless you are 
100% sure that it uses _exactly_ the same runtime version.

Now, the prebuilt version of libxml2 links against MSVCRT.dll (as it is built 
using VC6, afaik)

You however, using VC8, are linking your program against an exact version of 
MSVCR80?.dll which you can find in the WINDOWS/WinSxS directory.

If you want to use any libxml2 function that relies on runtime lib structures 
like FILE* you have to compile it yourself against the same msvcr* version as 
your application.

Personally, I would avoid these functions and use something like 
xmlDocDumpFormatMemory to write the tree to memory and save that to a file.

Br,
Martin


best regards / mit freundlichen Grüßen,
Martin Trappel
-------------------------------------------------------------------------
Kristl, Seibt & Co Ges.m.b.H. / A-8052 Graz
Tel.: (+43 316) 5995 - 1581
mailto:[EMAIL PROTECTED]
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to