当尝试使用-melf_i386选项运行ld命令时,出现此错误:
ld -melf_i386 helloWorld.o -o hello
ld: unknown option: -melf_i386
此选项在Linux上有效。 我该如何解决?
答案 0 :(得分:2)
不能。 macOS不支持ELF二进制文件,并且其链接器不支持ELF输出。因此,-melf_i386
选项不存在。 (实际上,不存在用于选择仿真的整个-m
选项; macOS处理子体系结构的方式与Linux完全不同。)
如果您尝试为Linux系统创建ELF二进制文件,则需要安装交叉编译工具链。我不知道有任何为此目的而预先构建的工具链。大多数针对Linux系统的开发人员都不在macOS上编译软件。一个更可行的选择可能是Linux虚拟机。
如果您试图创建一个可在macOS系统上运行的ELF二进制文件,那么您就不走运了。那是不可能的。
如果您尝试遵循汇编编程教程,请注意macOS系统调用界面与Linux上的界面不不兼容。使用Linux系统(或虚拟机)来学习本教程。