我安装了 libxml2
并用于编译读取 xml 文档的示例文件。我使用以下标记,因此我使用 libxml2:
gcc `xml2-config --cflags xml2-config --libs` libxml.c
但是它在解析文件的第一行就崩溃了:
Error: <unknown>:1: syntax error near line 1
context: <?xml version="1.0" >>> encoding="UTF-8"?> <<<
Segmentation fault
我知道这是一个有效的 xml 文件,xml 文件的前几行如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" level="3" version="1">
<model metaid="_case00010" id="case00010" name="case00010" timeUnits="time">
有人以前遇到过这个错误吗?谢谢。
这是我运行 gdb 时得到的结果,但不确定它的含义:
Cannot find new threads: generic error
代码逐字来自此处:http://www.xmlsoft.org/examples/parse1.c
并且 xml 文件通过了验证检查。
最佳答案
由于某种原因,当文件名位于末尾时,它没有正确链接库。我把链接信息放在最后,它起作用了:
gcc 'xml2-config --cflags' libxml.c 'xml2-config --libs'
关于c - Libxml2 未在第一行解析有效的 xml 文件(段错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11817775/