为什么我在编译时没有重新定义错误文件格式?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (91)

我使用libxml 2解析器解析XML文件。但是当我使用gcc编译器编译时:

gcc test.c note.xml -I/usr/include/libxml2 -lxml2 -o output

它给了我以下错误:

/usr/bin/ld:note.xml: file format not recognized; treating as linker script
/usr/bin/ld:note.xml:1: syntax error
collect2: error: ld returned 1 exit status

下面是我的test.c文件:

#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

void readfile(const char* filename) {
    xmlDocPtr doc;
    doc = xmlReadFile(filename,NULL,0);
    if(doc == NULL)
       return;
    xmlFreeDoc(doc);
}

int main(int argc,char* argv[]) {
    if(argc != 2)
        return 1;
    LIBXML_TEST_VERSION
    readfile(argv[1]);
    xmlCleanupParser();
    xmlMemoryDump();
    return 0; 
} 

以下是我的XML文件:

<note>
  <to>Tove</to>
    <from>Jani</from>
      <heading>Reminder</heading>
        <body>Don't forget me this weekend!</body>
   </note>
提问于
用户回答回答于

这个错误解释了这一切:

/usr/bin/ld:note.xml: file format not recognized; treating as linker script

扫码关注云+社区

领取腾讯云代金券