Libxml2 2.9.4使用Visual C++ 2012 编译出现如下错误:
relaxng.c(2218) : error C2275: 'xmlChar' : 非法使用此类型的表达式 xmlschemas.c(3172) : error C2275: 'xmlChar' : 非法使用此类型的表达式
处理方法:
relaxng.c文件的xmlRelaxNGGetErrorString函数处理方法,将xmlChar *result;变量的定义放到函数的开头部分.如下所示xmlChar *result; char msg[1000];...msg[1000 - 1] = 0; result = xmlCharStrdup(msg); return (xmlEscapeFormatString(&result));xmlschemas.c文件修改如下:if (expected) { xmlChar *expectedEscaped = xmlCharStrdup(expected); msg = xmlStrcat(msg, BAD_CAST " Expected is '"); msg = xmlStrcat(msg, xmlEscapeFormatString(&expectedEscaped)); FREE_AND_NULL(expectedEscaped); msg = xmlStrcat(msg, BAD_CAST "'.\n");...摘自https://mail.gnome.org/archives/xml/2016-June/txtPGtRYn45yN.txt