GNU/Linux >> Znalost Linux >  >> Linux

Jak zkompilovat 32bitový binární soubor na 64bitovém linuxovém stroji s 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)

Stručně řečeno:použijte -m32 příznak pro kompilaci 32bitového binárního souboru.

Také se ujistěte, že máte nainstalované 32bitové verze všech požadovaných knihoven (v mém případě vše, co jsem na Fedoře potřeboval, byl glibc-devel.i386)


Linux
  1. Jak používám Vagrant s libvirt

  2. Jak šifrovat soubory pomocí gocryptfs na Linuxu

  3. Jak zkontrolovat heslo v Linuxu?

  1. 32bitová podpora životnosti:Křížová kompilace s GCC

  2. Jak vypnout nebo restartovat Linux

  3. Jak zkompilovat kód Windows Visual C++ na Linuxu

  1. Jak obnovit heslo Windows pomocí Linuxu

  2. Jak nainstalovat MX Linux 21 krok za krokem pomocí snímků obrazovky

  3. Jak zjistit, zda je linuxový binární soubor 32bitový nebo 64bitový?