на все xml функции выдаёт ошибку
| Цитата | /home/worker/tmp/cc6hXtQK.o: In function `main': xpt.cpp:(.text+0x2b): undefined reference to `XML_ParserCreate' xpt.cpp:(.text+0x80): undefined reference to `XML_SetElementHandler' xpt.cpp:(.text+0x120): undefined reference to `XML_Parse' xpt.cpp:(.text+0x14a): undefined reference to `XML_ParserFree' collect2: выполнение ld завершилось с кодом возврата 1
|
вот код
| Код | #include <stdio.h> #include <expat.h>
using namespace std; #define BUFFSIZE 8192
char Buff[BUFFSIZE];
int Depth;
static void XMLCALL start(void *data, const char *el, const char **attr) { int i;
for (i = 0; i < Depth; i++) printf(" ");
printf("%s", el);
for (i = 0; attr[i]; i += 2) { printf(" %s='%s'", attr[i], attr[i + 1]); }
printf("\n"); Depth++; }
static void XMLCALL end(void *data, const char *el) { Depth--; }
int main() { XML_Parser p = XML_ParserCreate(NULL);
if (! p) { fprintf(stderr, "Couldn't allocate memory for parser\n"); exit(-1); }
XML_SetElementHandler(p, start, end);
for (;;) { int done; int len;
len = (int)fread(Buff, 1, BUFFSIZE, stdin); if (ferror(stdin)) { fprintf(stderr, "Read error\n"); exit(-1); } done = feof(stdin);
if (XML_Parse(p, Buff, len, done) == XML_STATUS_ERROR) { /*fprintf(stderr, "Parse error at line %" XML_FMT_INT_MOD "u:\n%s\n", XML_GetCurrentLineNumber(p), XML_ErrorString(XML_GetErrorCode(p)));*/ exit(-1); }
if (done) break; } XML_ParserFree(p); return 0; }
|
|