为什么我无法使用 gcc 将 cpp 文件编译为 32 位?

为什么我无法使用 gcc 将 cpp 文件编译为 32 位?

linux 64 位,在尝试编译我的 cpp 文件时,我收到一个错误,希望得到任何帮助,谢谢 gcc 命令

gcc -m32 -g mmn12-q2.cpp -lstdc++

错误:

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: cannot find libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
collect2: error: ld returned 1 exit status

答案1

要在 64 位 Arch Linux 上编译和链接 32 位程序,您需要pacman -S以下软件包:

  • lib32-glibc
  • lib32-gcc-libs

相关内容