ld:OS X上的未知选项-melf_i386

时间:2019-08-17 21:18:16

标签: bash macos ld

当尝试使用-melf_i386选项运行ld命令时,出现此错误:

ld -melf_i386 helloWorld.o -o hello
ld: unknown option: -melf_i386

此选项在Linux上有效。 我该如何解决?

1 个答案:

答案 0 :(得分:2)

不能。 macOS不支持ELF二进制文件,并且其链接器不支持ELF输出。因此,-melf_i386选项不存在。 (实际上,不存在用于选择仿真的整个-m选项; macOS处理子体系结构的方式与Linux完全不同。)

如果您尝试为Linux系统创建ELF二进制文件,则需要安装交叉编译工具链。我不知道有任何为此目的而预先构建的工具链。大多数针对Linux系统的开发人员都不在macOS上编译软件。一个更可行的选择可能是Linux虚拟机。

如果您试图创建一个可在macOS系统上运行的ELF二进制文件,那么您就不走运了。那是不可能的。

如果您尝试遵循汇编编程教程,请注意macOS系统调用界面与Linux上的界面不兼容。使用Linux系统(或虚拟机)来学习本教程。