シンプルな「hello, world!」をコンパイルしてリンクしようとしています。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
これらのエラーの原因と、それらを修正するために何をする必要があるか教えてもらえますか?
前もって感謝します、
ライリーH