首页 > 技术文章 > error: expat.h: No such file or directory 解决方法

afei654138148 2021-07-22 13:58 原文

报错原因:缺少dexpat依赖包

解决方案:

yum list | grep expat

yum instal expat-devel

报错信息:

Parser.cpp:11:19: error: expat.h: No such file or directory
Parser.cpp:307: error: ‘XML_Parser’ does not name a type
Parser.cpp:315: error: ISO C++ forbids declaration of ‘XML_Char’ with no type
Parser.cpp:315: error: expected ‘,’ or ‘...’ before ‘*’ token
Parser.cpp: In function ‘void startElementHandler(void*, int)’:
Parser.cpp:320: error: ‘attr’ was not declared in this scope
Parser.cpp:325: error: ‘struct CallbackData’ has no member named ‘parser’
Parser.cpp:325: error: ‘XML_GetCurrentLineNumber’ was not declared in this scope
Parser.cpp:326: error: ‘struct CallbackData’ has no member named ‘parser’
Parser.cpp:326: error: ‘XML_GetCurrentColumnNumber’ was not declared in this scope
Parser.cpp:327: error: ‘name’ was not declared in this scope
Parser.cpp: At global scope:
Parser.cpp:331: error: ISO C++ forbids declaration of ‘XML_Char’ with no type
Parser.cpp:331: error: expected ‘,’ or ‘...’ before ‘*’ token
Parser.cpp: In function ‘void endElementHandler(void*, int)’:
Parser.cpp:334: error: ‘struct CallbackData’ has no member named ‘parser’
Parser.cpp:334: error: ‘XML_GetCurrentLineNumber’ was not declared in this scope
Parser.cpp:335: error: ‘struct CallbackData’ has no member named ‘parser’
Parser.cpp:335: error: ‘XML_GetCurrentColumnNumber’ was not declared in this scope
Parser.cpp:336: error: ‘name’ was not declared in this scope
Parser.cpp: At global scope:
Parser.cpp:340: error: ISO C++ forbids declaration of ‘XML_Char’ with no type
Parser.cpp:340: error: expected ‘,’ or ‘...’ before ‘*’ token
Parser.cpp: In function ‘void characterDataHandler(void*, int)’:
Parser.cpp:344: error: ‘s’ was not declared in this scope
Parser.cpp:344: error: ‘len’ was not declared in this scope
Parser.cpp:345: error: ‘struct CallbackData’ has no member named ‘parser’
Parser.cpp:345: error: ‘XML_GetCurrentLineNumber’ was not declared in this scope
Parser.cpp:346: error: ‘struct CallbackData’ has no member named ‘parser’
Parser.cpp:346: error: ‘XML_GetCurrentColumnNumber’ was not declared in this scope
Parser.cpp: In static member function ‘static void IceXML::Parser::parse(std::istream&, IceXML::Handler&)’:
Parser.cpp:387: error: ‘XML_Parser’ was not declared in this scope
Parser.cpp:387: error: expected ‘;’ before ‘parser’
Parser.cpp:389: error: ‘struct CallbackData’ has no member named ‘parser’
Parser.cpp:389: error: ‘parser’ was not declared in this scope
Parser.cpp:391: error: ‘XML_SetUserData’ was not declared in this scope
Parser.cpp:392: error: ‘XML_SetElementHandler’ was not declared in this scope
Parser.cpp:393: error: ‘XML_SetCharacterDataHandler’ was not declared in this scope
Parser.cpp:406: error: ‘XML_Parse’ was not declared in this scope
Parser.cpp:408: error: ‘XML_GetErrorCode’ was not declared in this scope
Parser.cpp:408: error: ‘XML_ErrorString’ was not declared in this scope
Parser.cpp:408: error: ‘XML_GetCurrentLineNumber’ was not declared in this scope
Parser.cpp:409: error: ‘XML_GetCurrentColumnNumber’ was not declared in this scope
Parser.cpp:416: error: ‘XML_ParserFree’ was not declared in this scope
Parser.cpp:420: error: ‘XML_ParserFree’ was not declared in this scope
make[2]: *** [Parser.o] Error 1
make[2]: Leaving directory `/root/pak/ice-3.1.1-compiled_centos610_i686/src/IceXML'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/root/pak/ice-3.1.1-compiled_centos610_i686/src'
make: *** [all] Error 1

推荐阅读