【问题标题】:ld: unknown option -melf_i386 on OS Xld:OS X 上的未知选项 -melf_i386
【发布时间】:2019-12-23 16:26:48
【问题描述】:

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

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

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

【问题讨论】:

  • 尝试添加一个空格,例如-m elf_i386

标签: bash macos ld


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2011-06-02
    • 2013-12-14
    • 2016-07-19
    • 1970-01-01
    • 2012-05-29
    • 2021-10-23
    • 2013-10-29
    • 2013-11-10
    • 2014-09-24
    相关资源
    最近更新 更多