![为什么我无法使用 gcc 将 cpp 文件编译为 32 位?](https://linux22.com/image/184100/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20gcc%20%E5%B0%86%20cpp%20%E6%96%87%E4%BB%B6%E7%BC%96%E8%AF%91%E4%B8%BA%2032%20%E4%BD%8D%EF%BC%9F.png)
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