相关疑难解决方法(0)

找不到crtn.o,在64位系统上链接32位代码

我试图在64位系统上使用NASM和GCC组装一些32位代码.我使用以下两个命令

nasm -f elf32 -g -F stabs coc.asm
gcc -m32 -o coc coc.o
Run Code Online (Sandbox Code Playgroud)

LDM看起来很好,但LD抱怨:

/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: cannot find -lc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/libgcc_s.so when searching for -lgcc_s …
Run Code Online (Sandbox Code Playgroud)

64-bit gcc nasm ld

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

64-bit ×1

gcc ×1

ld ×1

nasm ×1