gcc не будет связываться с -m32

Пытается скомпилировать даже простейшую (int main(){}) программу с -m32 в 64-битной системе:

$ gcc -m32 test.c
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status

Кажется, что все еще ошибочно выполняется поиск в неправильных каталогах, когда [ f4].

libgcc-4.8-dev:i386 установлен, и я проверил, что 32-разрядные библиотеки находятся в /usr/lib/gcc/i686-linux-gnu/4.8/.

Я попытался установить и экспортировать [ f7] и LD_LIBRARY_PATH безрезультатно.

1
задан 23 April 2014 в 18:54

1 ответ

Для успешного компиляции C-кода в x86 32-разрядных исполняемых файлов в среде x86_64 вам необходимо установить следующие дополнительные пакеты:

sudo apt-get install libc6-dev-i386 gcc-multilib

После вызова компиляции, такого как

$ gcc -m32 test.c -o test
[d2 ] успешно.

0
ответ дан 24 May 2018 в 08:57

Другие вопросы по тегам:

Похожие вопросы: