使いやすいhtmlパーサーライブラリを探しています。現在、libxml2をセットアップしようとしていますが、イライラする問題が発生しています。私が使用しているIDEはPellesCです。libxml2のWindowsファイルを取得し、適切なフォルダー(正しいヘッダー領域のヘッダー、binのバイナリ、ライブラリのライブラリなど)に配置しましたが、プログラムをコンパイルしようとするたびにコンパイラは、私が呼び出すすべてのlibxml2関数が未定義であることを通知します。例えば:
リンカーフラグ:
-subsystem:console -machine:amd64 kernel32.lib advapi32.lib delayimp64.lib Ws2_32.lib libxml2.lib
コード:
static void print_element_names(xmlNode * a_node)
{
xmlNode *cur_node = NULL;
for(cur_node = a_node; cur_node; cur_node = cur_node->next)
{
if (cur_node->type == XML_ELEMENT_NODE)
{
printf("node type: Element, name: %s\n", cur_node->name);
}
print_element_names(cur_node->children);
}
}
int main(void)
{
xmlDoc *doc = NULL;
xmlNode *root_element = NULL;
LIBXML_TEST_VERSION
doc = xmlReadFile("XMLFILE"/*XML_FILE PUT HERE*/, NULL, 0);
if (doc != NULL) printf("error: could not parse file");
root_element = xmlDocGetRootElement(doc);
print_element_names(root_element);
xmlFreeDoc(doc);
xmlCleanupParser();
return 0;
}
コンパイルしようとすると、次のエラーが発生します。
POLINK: error: Unresolved external symbol 'xmlCheckVersion'.
POLINK: error: Unresolved external symbol 'xmlReadFile'.
POLINK: error: Unresolved external symbol 'xmlDocGetRootElement'.
POLINK: error: Unresolved external symbol 'xmlFreeDoc'.
POLINK: error: Unresolved external symbol 'xmlCleanupParser'.
POLINK: fatal error: 5 unresolved external(s).
この状況全体が私を狂わせています。誰かがこの問題を解決するのを手伝ってくれるか、おそらくより簡単にセットアップできるhtmlパーサーを提案してくれるなら、私はそれを非常に感謝します。