'namespace reference { }' 的先前声明
previous declaration of 'namespace reference { }'
我在使用 libxml2
编译代码时出现编译错误。
文件 Reference.h
已存在于我的代码中并被许多其他文件使用:
Reference.h
namespace reference // BEGIN OF namespace reference
{
}
但是当我用 libxml2
:
编译我的代码时出现错误
libxml2/libxml/SAX.h:116: error: 'void reference(void*, const xmlChar*)' redeclared as different kind of symbol
libxml2/libxml/SAX.h
XMLPUBFUN void XMLCALL reference (void *ctx,
const xmlChar *name);
有没有办法在不修改我的文件的情况下解决这个错误Reference.h
?
感谢您的帮助。
基本上,禁用SAX.h
。这是一个已弃用的接口,它不会为它的符号做任何命名空间或使用任何标准前缀。相反,使用 SAX2.h
,它(除了其他改进之外)为所有内容加上前缀 xmlSAX2
。
为了将不推荐使用的内容排除在 libxml2 之外,当您 运行 configure
确保不要传递 with_legacy
选项。
我在使用 libxml2
编译代码时出现编译错误。
文件 Reference.h
已存在于我的代码中并被许多其他文件使用:
Reference.h
namespace reference // BEGIN OF namespace reference
{
}
但是当我用 libxml2
:
libxml2/libxml/SAX.h:116: error: 'void reference(void*, const xmlChar*)' redeclared as different kind of symbol
libxml2/libxml/SAX.h
XMLPUBFUN void XMLCALL reference (void *ctx,
const xmlChar *name);
有没有办法在不修改我的文件的情况下解决这个错误Reference.h
?
感谢您的帮助。
基本上,禁用SAX.h
。这是一个已弃用的接口,它不会为它的符号做任何命名空间或使用任何标准前缀。相反,使用 SAX2.h
,它(除了其他改进之外)为所有内容加上前缀 xmlSAX2
。
为了将不推荐使用的内容排除在 libxml2 之外,当您 运行 configure
确保不要传递 with_legacy
选项。