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

関連情報