ld:体系结构x86_64的未定义符号

Jer*_*ov2 5 assembly executable x86-64 nasm ld

我已经制作了一个nasm程序集hello world程序,如下所示:

global start


section .text

start:
    mov rax, 0x20000004
    mov rdi, 1
    lea rsi, [rel msg]
    mov rdx, msg.len
    syscall

    mov rax, 0x20000001
    mov rdi, 0
    syscall


section .data

msg:    db  "Hello, World!", 10
.len:   equ $ - msg
Run Code Online (Sandbox Code Playgroud)

做的nasm -f macho64 print.asm很好,但ld -macosx_version_min 10.10 -o print print.o会出现如下错误:

Undefined symbols for architecture x86_64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for inferred architecture x86_64
Run Code Online (Sandbox Code Playgroud)

我不懂这啥意思 :)。有人可以帮我解决这个问题吗?谢谢!PS我正在Mac OS X优胜美地上使用。