Chi*_*sal 5 terminal gcc gnu elf linker-errors
当我在终端中运行命令时(使用 El Capitan)
ld -m elf_i386 -T linker.ld -o kernel kasm.o kc.o
Run Code Online (Sandbox Code Playgroud)
它显示以下错误:
ld: warning: option -m is obsolete and being ignored
ld: file not found: elf_i386
Run Code Online (Sandbox Code Playgroud)
有人能帮我解决这个问题吗?
当我在终端中运行命令时
您正在尝试直接使用链接某种内核ld
。ld
这实际上是极少数适合直接使用的情况之一。
但是,您给出的命令行参数ld
假设您正在使用 GNU-ld (您可能已从 Linux 教程中复制了它们),但您没有使用GNU-ld,您正在使用 MacOS 本机链接器,它无法理解这些论点。
有人能帮我解决这个问题吗?
请提出一个单独的问题,类似于“我正在尝试在 MacOS 上构建 XXX,遵循教程 YYY,并且不明白如何将此 Linux 命令调整到 Mac OS”。
请注意,可能根本无法在 MacOS 上构建 XXX。特别是,ld 手册页没有提到ELF
可能的输出,因此如果您的“构建 XXX”目标包括构建 ELF 内核,您可能需要构建一个交叉链接器(在 Mac OS 上运行的 GNU-ld 链接器(即托管在 Mac OS 上),但为ELF
目标生成代码。