ld无法识别选项

时间:2016-08-12 21:42:32

标签: linux gcc linker ld

我正在阅读此Tuto,我正在尝试使用此命令链接应用程序:ld test.o –o test.bin,链接器无法识别-o选项:

ld: cannot find –o: No such file or directory

使用ld -help选项-o存在,但我不明白为什么我会遇到此问题。

这是链接器版本。

$ ld -version
GNU ld (GNU Binutils for Ubuntu) 2.24
Copyright 2013 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later  version.
This program has absolutely no warranty.

1 个答案:

答案 0 :(得分:0)

我的好眼睛和痛苦的经历告诉我,您必须复制/粘贴来自MS-Office的一些文本,其中短划线(-)已转换为另一个unicode或其他短划线。注意文本中短划线字符的长度。

实际上,你所指的tuto就是那个有错误的人,就在这一行:

ld –Ttext 0x7c00 --oformat=binary test.o –o test.bin

注意2臭名昭着的长短划线"无法在命令行上运行。

您的命令按原样,然后是重新输入的命令。注意什么?

ld test.o –o test.bin   # long dash, fails
ld test.o -o test.bin   # good one, short dash

由于破折号不正确,ld假定这是一个目标文件并尝试打开它,因此出错。