ld:未知选项:-Ttext在Mac OS X上的特立独行

时间:2013-11-28 14:42:48

标签: c linker command ld

我正在尝试运行此命令

ld -Ttext 0x1000 -o kernel.bin loader.o main.o video.o 

但它会返回ld: unknown option: -Ttext

是否有其他方法可以采取此行动或让ld工作?

这里写的是,选项-Ttext存在,但在我的情况下,它表明没有 http://linux.about.com/library/cmd/blcmdl1_ld.htm

2 个答案:

答案 0 :(得分:0)

“ - Ttext”是内存中文本(代码)段的位置。 macintosh ld不支持该选项。它确实支持“-segaddr text”(它可能不是文本,但它可能是_text或__text)。如果您正在编写操作系统,则可能需要单独的工具链,因为macintosh工具链仅适用于在macintosh上使用的mach-o对象。

答案 1 :(得分:-2)

ld的{​​{1}}页面上写着:

man

所以你应该

  1. 使用正确的格式: -T scriptfile --script=scriptfile Use scriptfile as the linker script. This script replaces ld's default linker script (rather than adding to it), so commandfile must specify everything necessary to describe the output file. If scriptfile does not exist in the current directory, "ld" looks for it in the directories specified by any preceding -L options. Multiple -T options accumulate.
  2. 确保当前目录中存在ld -T text 0x1000 -o kernel.bin loader.o main.o video.o,并且确实是链接描述文件。