You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下ld执行链接脚本提示unknown option: -T如何解决

macOS下ld不支持-T参数的解决方案

报错原因

macOS 原生自带的 ld 为苹果自研的 ld64 链接器,和 GNU ld 的设计逻辑与支持参数存在差异,本身不支持 -T 参数指定自定义链接脚本,这是触发报错的根本原因。

可行解决方案

方案1(推荐):使用对应架构的GNU交叉编译工具链

做裸机、内核类开发时,统一使用GNU工具链可避免大量平台兼容问题,操作步骤如下:

  • 若未安装Homebrew,先完成Homebrew部署,随后执行安装指令:
    brew install x86_64-elf-binutils x86_64-elf-gcc
    
    若目标架构不是x86_64,可替换为对应架构的工具链包,例如ARM64架构对应aarch64-elf-binutils。
  • 链接时使用工具链自带的GNU ld替代原生ld,原指令修改为:
    x86_64-elf-ld -Tlink.ld -o kernel.bin start.o main.o scrn.o
    
    完全兼容你原本针对GNU ld写的链接脚本与参数逻辑,无需额外修改。

方案2:使用ld64等效参数(兼容性有限)

ld64提供了指定链接脚本的等效参数-threaded_script,可将原指令修改为:

ld -threaded_script link.ld -o kernel.bin start.o main.o scrn.o

注意:ld64的链接脚本语法和GNU ld不完全兼容,若你的链接脚本是针对GNU ld编写,大概率会触发后续语法错误,仅建议简单链接场景尝试。

内容的提问来源于stack exchange,提问作者jdir.s

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:00:02