如何解决此问题[警告:忽略文件,文件是为不支持的文件格式构建的]

geassos

我从讲师那里得到了一些示例代码,这些代码用于递归列出FAT12磁盘映像文件中的所有文件和目录。

我仔细按照说明进行操作,但收到一些奇怪的错误消息,如下所示:

ld: warning: ignoring file floppy.img, file was built for unsupported file format
(0xEB 0x3C 0x90 0x42 0x53 0x44 0x20 0x20 0x34 0x2E 0x34 0x00 0x02 0x01 0x01 0x00 ) 
which is not the architecture being linked (x86_64): floppy.img
Undefined symbols for architecture x86_64:
  "_check_bootsector", referenced from:
       _main in dos_ls-LKA1e2.o
  "_cluster_to_addr", referenced from:
       _follow_dir in dos_ls-LKA1e2.o
  "_get_fat_entry", referenced from:
  _     follow_dir in dos_ls-LKA1e2.o
  "_mmap_file", referenced from:
        _main in dos_ls-LKA1e2.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

gcc ./dos_ls.c floppy.img是我在终端中使用的命令。dos_ls.c是c文件,floppy.img是他提供给我们的示例img。

我相信这张img的格式有问题吗?
谁能解释这个错误,然后告诉我如何解决?

更新:例如,“ ./ dos_ls floppy.img”将列出磁盘映像文件floppy.img中的所有文件和目录。这是我的指示。我的工作有什么问题吗?

gcc ./dos_ls.c给出此错误消息:

 Undefined symbols for architecture x86_64:
  "_check_bootsector", referenced from:
      _main in dos_ls-xHY6F1.o
  "_cluster_to_addr", referenced from:
      _follow_dir in dos_ls-xHY6F1.o
  "_get_fat_entry", referenced from:
      _follow_dir in dos_ls-xHY6F1.o
  "_mmap_file", referenced from:
      _main in dos_ls-xHY6F1.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

gcc --version

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-
include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

更新:gcc -o hello dos_ls.c dos.c在当前目录中创建一个新文件:

Usage: dos_ls <imagename>
logout

[Process completed]

执行此操作的正确方法是什么?

达里乌斯爵士

根据您添加到问题中的信息,您的问题是该dos_ls.c文件调用了一些此处未定义的函数。
因此,链接器抱怨找不到这些函数的实现,因此未定义符号。

如果您的讲师为您提供了更多的.c源文件,其中包含这些函数的定义(以及提供功能声明的关联头文件),则必须将它们与主源文件一起编译。

我假设与fat12相关的功能,所以我在想您有以下文件:

dos_ls.c
fat12.h
fat12.c

通常,dos_ls.c将#include "fat12.h",并且您需要使用如下命令行来编译.c文件:

gcc -o dos_ls dos_ls.c fat12.c

这应该工作。

现在,要使用提供的图像文件作为参数执行二进制文件,只需键入:

./dos_ls floppy.img

这正是您在问题中引用的说明。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

XCode-iOS:此链接器警告表示“文件是为不支持的文件格式构建的”是什么意思

来自分类Dev

Estimote SDK忽略文件...文件是为不支持的文件格式构建的

来自分类Dev

文件是为不支持的文件格式构建的?

来自分类Dev

ld:在Mac OS X上为不支持的文件格式构建了文件

来自分类Dev

如何解决Maven的不支持的类文件的主要版本57的Java 13和Spring

来自分类Dev

使用 WebClient 下载文件时出现异常不支持并发 I/O 操作如何解决?

来自分类Dev

不支持使用Telerik AsyncUpload文件格式保存文件

来自分类Dev

不支持/ boot的文件系统的构建内核

来自分类Dev

如何解决此问题:尝试在Jenkins上构建Java Web应用程序时,Ant无法“查找文件”?

来自分类Dev

Swagger UI 不支持为 RestEasy 正确上传文件

来自分类Dev

此代码将继续格式化文件,而不是写入文件。我如何解决它?

来自分类Dev

如何解决Terraform资源错误UnauthorizedOperation:此操作不支持共享VPC

来自分类Dev

Bluemix:API管理-错误“ Swagger jsonReference”。不支持此功能。我如何解决它?

来自分类Dev

如何解决“浏览器当前不支持任何视频格式”消息?

来自分类Dev

如何解决Swift不支持一流的元类型的问题?

来自分类Dev

如何解决不支持的parse_mode问题?

来自分类Dev

如何解决系列数据点不支持类型值的问题?

来自分类Dev

如何解决写入文件的问题?

来自分类Dev

不支持的格式字符“;”。无法解决这个问题

来自分类Dev

回形针不支持.doc文件

来自分类Dev

Firefox不支持主机文件

来自分类Dev

回形针不支持.doc文件

来自分类Dev

如何解决SceneKit双重不支持的错误?

来自分类Dev

如何解决“不支持的扩展程序:RegularPatterns”错误?

来自分类Dev

如何解决SceneKit双重不支持的错误?

来自分类Dev

如何解决“不支持的扩展程序:RegularPatterns”错误?

来自分类Dev

PHP 文件格式问题:如何解决写入输出中的不一致问题?

来自分类Dev

Nautilus中的文件停止自动更新,如何解决此问题?

来自分类Dev

如何解决此错误:类文件的版本为52.0,应为49.0

Related 相关文章

  1. 1

    XCode-iOS:此链接器警告表示“文件是为不支持的文件格式构建的”是什么意思

  2. 2

    Estimote SDK忽略文件...文件是为不支持的文件格式构建的

  3. 3

    文件是为不支持的文件格式构建的?

  4. 4

    ld:在Mac OS X上为不支持的文件格式构建了文件

  5. 5

    如何解决Maven的不支持的类文件的主要版本57的Java 13和Spring

  6. 6

    使用 WebClient 下载文件时出现异常不支持并发 I/O 操作如何解决?

  7. 7

    不支持使用Telerik AsyncUpload文件格式保存文件

  8. 8

    不支持/ boot的文件系统的构建内核

  9. 9

    如何解决此问题:尝试在Jenkins上构建Java Web应用程序时,Ant无法“查找文件”?

  10. 10

    Swagger UI 不支持为 RestEasy 正确上传文件

  11. 11

    此代码将继续格式化文件,而不是写入文件。我如何解决它?

  12. 12

    如何解决Terraform资源错误UnauthorizedOperation:此操作不支持共享VPC

  13. 13

    Bluemix:API管理-错误“ Swagger jsonReference”。不支持此功能。我如何解决它?

  14. 14

    如何解决“浏览器当前不支持任何视频格式”消息?

  15. 15

    如何解决Swift不支持一流的元类型的问题?

  16. 16

    如何解决不支持的parse_mode问题?

  17. 17

    如何解决系列数据点不支持类型值的问题?

  18. 18

    如何解决写入文件的问题?

  19. 19

    不支持的格式字符“;”。无法解决这个问题

  20. 20

    回形针不支持.doc文件

  21. 21

    Firefox不支持主机文件

  22. 22

    回形针不支持.doc文件

  23. 23

    如何解决SceneKit双重不支持的错误?

  24. 24

    如何解决“不支持的扩展程序:RegularPatterns”错误?

  25. 25

    如何解决SceneKit双重不支持的错误?

  26. 26

    如何解决“不支持的扩展程序:RegularPatterns”错误?

  27. 27

    PHP 文件格式问题:如何解决写入输出中的不一致问题?

  28. 28

    Nautilus中的文件停止自动更新,如何解决此问题?

  29. 29

    如何解决此错误:类文件的版本为52.0,应为49.0

热门标签

归档