ld:找不到文件:Mac终端上的elf_i386错误

时间:2016-06-27 18:05:34

标签: gcc terminal linker-errors gnu elf

当我在终端中运行命令时(使用El Capitan)

ld -m elf_i386 -T linker.ld -o kernel kasm.o kc.o

它显示以下错误:

ld: warning: option -m is obsolete and being ignored
ld: file not found: elf_i386

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

  

当我在终端

中运行命令时

您正尝试直接使用ld链接某种内核。这实际上是少数直接使用ld的情况之一。

但是,您给ld的命令行参数假设您使用的是GNU-ld(您可能已经从Linux教程中复制过它们),但是使用GNU -ld,您使用的是MacOS本地链接器,它不了解这些参数。

  

有人可以帮我吗?

请问一个单独的问题,按照"我正在尝试在MacOS上构建XXX,遵循教程YYY,并且不了解如何将此Linux命令调整到Mac OS"。

请注意,可能无法在MacOS上构建XXX。特别是,ld manpage并未提及ELF作为可能的输出,因此如果您的"构建XXX"目标包括构建ELF内核,您可能需要构建交叉链接器(在Mac OS上运行的GNU-ld链接器(即托管在Mac OS上),但为ELF目标生成代码。