GNU/Linux >> Belajar Linux >  >> Linux

Cara mengkompilasi biner 32-bit pada mesin linux 64-bit dengan gcc/cmake

export CFLAGS=-m32

$ gcc test.c -o testc
$ file testc
testc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
$ ldd testc 
    linux-vdso.so.1 =>  (0x00007fff227ff000)
    libc.so.6 => /lib64/libc.so.6 (0x000000391f000000)
    /lib64/ld-linux-x86-64.so.2 (0x000000391ec00000)
$ gcc -m32 test.c -o testc
$ file testc
testc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
$ ldd testc
    linux-gate.so.1 =>  (0x009aa000)
    libc.so.6 => /lib/libc.so.6 (0x00780000)
    /lib/ld-linux.so.2 (0x0075b000)

Singkatnya:gunakan -m32 flag untuk mengompilasi biner 32-bit.

Selain itu, pastikan Anda memiliki versi 32-bit dari semua pustaka yang diperlukan terinstal (dalam kasus saya, yang saya perlukan di Fedora adalah glibc-devel.i386)


Linux
  1. Cara mengenkripsi file dengan gocryptfs di Linux

  2. Cara mengkompilasi kode Visual C++ Windows di Linux

  3. Bagaimana cara menentukan apakah file biner linux 32-bit atau 64-bit?

  1. Bagaimana saya menggunakan Vagrant dengan libvirt

  2. Dukungan hidup 32-bit:Kompilasi silang dengan GCC

  3. Cara mematikan atau me-reboot Linux

  1. Cara mereset kata sandi Windows dengan Linux

  2. Cara Menginstal MX Linux 21 Langkah demi Langkah dengan Tangkapan Layar

  3. Bagaimana cara memeriksa kata sandi dengan Linux?