我正在尝试编译和链接一个简单的“你好,世界!” GCC 的程序。该程序使用“printf”C 函数。我遇到的问题是终端抛出了多个错误。我正在运行 Archlinux,使用 NASM 编译,与 GCC 链接。这是我的代码:
; ----------------------------------------------------------------------------
; helloworld.asm
;
; Compile: nasm -f elf32 helloworld.asm
; Link: gcc helloworld.o
; ----------------------------------------------------------------------------
SECTION .data
message db "Hello, World",0
SECTION .text
global main
extern printf
section .text
_main:
push message
call printf
add esp, 4
ret
我收到的错误如下:
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
collect2: error: ld returned 1 exit status
有人可以告诉我是什么导致了这些错误以及我需要做些什么来修复它们吗?
提前致谢,
莱利