首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么编译时出现文件格式不被识别的错误?

为什么编译时出现文件格式不被识别的错误?
EN

Stack Overflow用户
提问于 2018-07-11 05:48:27
回答 1查看 641关注 0票数 -3

我正在使用libxml2解析器解析xml文件。但是当我使用gcc编译器进行编译时:

代码语言:javascript
复制
gcc test.c note.xml -I/usr/include/libxml2 -lxml2 -o output

它给出了以下错误:

代码语言:javascript
复制
/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文件:

代码语言:javascript
复制
#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文件:

代码语言:javascript
复制
<note>
  <to>Tove</to>
    <from>Jani</from>
      <heading>Reminder</heading>
        <body>Don't forget me this weekend!</body>
   </note>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-11 05:51:57

这个错误解释了所有的错误:

代码语言:javascript
复制
/usr/bin/ld:note.xml: file format not recognized; treating as linker script

无法识别文件格式。哪个文件?note.xml。是代码吗?不,它不是你的C代码的一部分。它根本不应该被编译,所以不要将它作为参数传递给gcc

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51274354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档