私はCで開発を始めておりlibxml2
、単純なxmlファイルを作成するためにCライブラリを使用したいと考えています。
この目的のために、xmlファイルを作成するための関数を提供する個別のソースファイルを作成しました。
xmlutils.h:
#include <libxml/encoding.h>
#include <libxml/xmlwriter.h>
void writeXML(const char *uri);
xmlutils.c:
#include <libxml/encoding.h>
#include <libxml/xmlwriter.h>
void writeXML(const char *uri){
int rc;
xmlTextWriterPtr writer;
xmlChar *tmp;
/* Create a new XmlWriter for uri, with no compression. */
writer = xmlNewTextWriterFilename(uri, 0);
if (writer == NULL) {
printf("testXmlwriterFilename: Error creating the xml writer\n");
return;
}
//more code...
}
main.cファイルでこのwriteXML関数を使用したい:
#include<stdio.h>
#include<string.h>
#include "xmlutils.h"
main() {
writeXML("test.xml");
}
私はコンパイルしています:
gcc -o myapp main.c xmlutils.c -I/usr/include/libxml2
そして私は得る:
xmlutils.c:(.text+0x19): undefined reference to `xmlNewTextWriterFilename'
collect2: ld returned 1 exit status
私はここで何が間違っているのですか?私がusr/include/libxml2/libxml/xmlwriter.h
ファイルを見ると、関数があります...
どうも