Я пытался скомпилировать приложение для 32-битной цели на машине x86_64 ubuntu 12.04. Я установил необходимые пакеты с помощью-m32 опция не работает с gcc, но работает с g ++
sudo apt-get install gcc-multilib g++-multilib libc6-i386 libc6-dev-i386
Первая команда работает порождающих 32 разрядной версии. Однако ошибка второй команды
1. g++ -m32 hello.c
2. gcc -m32 hello.c
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
Может ли кто-нибудь объяснить мне, почему gcc не работает. Мне не хватает некоторых библиотек?
Спасибо!
У меня есть он установлен. Извиняюсь, что не упоминал об этом раньше. – SArora
@SArora, вы можете попробовать: gcc -m32 -L/usr/lib32 -o hello hello.c –
Да. Я пробовал это раньше. Это не работает. У меня есть crt1.o и libgcc_s.so.1 в/usr/lib32. Интересно, если он ищет что-то еще. – SArora