好吧,我用nasm
我test.o
的test.s
. 当我然后运行时gcc test.o
,它给了我错误消息
/usr/bin/ld: test.o: 重定位 R_X86_64_PC32 对符号 `puts@@GLIBC_2.2.5' 在制作 PIE 对象时不能使用;使用 -fPIE /usr/bin/ld 重新编译:最终链接失败:错误值 collect2:错误:ld 返回 1 退出状态
test.s:
global main
extern puts
section .text
main:
mov rdi, message
call puts
ret
message:
db "Hello World", 0
此错误消息是什么意思以及如何解决?
此外,在这种情况下,我使用gcc
将我的目标文件与标准库链接,但我如何使用它ld
来完成相同的工作?
我正在运行Ubuntu 20.04 LTS