什么是未定义的参考/未解决的外部符号错误?什么是常见原因以及如何修复/预防它们?
随意编辑/添加您自己的.
c++ c++-faq linker-errors unresolved-external undefined-reference
我正在尝试链接组装的单模块汇编语言程序yasm,我从以下错误中得到以下错误ld:
Undefined symbols for architecture x86_64:
"start", referenced from:
implicit entry/start for main executable
(maybe you meant: _start)
ld: symbol(s) not found for inferred architecture x86_64
Run Code Online (Sandbox Code Playgroud)
我实际上是半定期得到这个错误,所以我想这是一个相当普遍的问题,但不知怎的,似乎没有人有一个满意的答案.在有人说这是前一个问题的副本之前,是的,我知道.正如你可以看到类似标题问题的巨大文本墙,看到这是重复的,我也可以.
不适用于我的问题.我不是用C++编写的,并且在那个问题中给出的解决方案对于那种语言来说是特殊的.
也没有解决我的问题,因为我不是试图将多个目标文件链接在一起.
解决方案与高级语言中的特定框架有关.
解决方案涉及修复函数原型.由于明显的原因,这里不适用.
......你明白了.我能找到的每一个过去的问题都是通过一些不适用于我的情况的特殊方法来解决的.
请帮我解决一下这个.我已经厌倦了一次又一次地得到这个错误而无法对它做任何事情,因为它的记录很差.恕我直言世界迫切需要一个GNU Dev Tools等效的MS-DOS错误代码参考手册.
附加信息:
操作系统:Mac OS X El Capitain
来源清单:
segment .text
global _start
_start:
mov eax,1 ; 1 is the syscall number for exit
mov ebx,5 ; 5 is the value to return
int 0x80 ; execute a system …Run Code Online (Sandbox Code Playgroud)