gpt4 book ai didi

gcc - 无法找到 crtn.o,在 64 位系统上链接 32 位代码

转载 作者:行者123 更新时间:2023-12-02 15:45:49 24 4
gpt4 key购买 nike

我正在尝试在 64 位系统上使用 NASM 和 GCC 汇编一些 32 位代码。我使用以下两个命令

nasm -f elf32 -g -F stabs coc.asm
gcc -m32 -o coc coc.o

NASM 似乎表现不错,但 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
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: ld returned 1 exit status

我正在运行 Ubuntu 11.10,我检查过并且非常确定 libc 已安装。

最佳答案

您不是在汇编,而是链接一个可执行文件,它需要操作系统启动文件。

您似乎没有安装 gcc-*-multilib,其中包含必要的文件:http://packages.ubuntu.com/oneiric/amd64/gcc-4.6-multilib/filelist

关于gcc - 无法找到 crtn.o,在 64 位系统上链接 32 位代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9807581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com