Проблема с компиляцией 32-битного двоичного файла на 64-битной машине

Я пытаюсь скомпилировать программу c как 32-битный двоичный файл вместо 64-битного. Я начал с добавления -m32 и получил несколько ошибок. Немного погуглив, наткнулся на заметку по установке ia32-libs. Запуск apt-get install ia32-libs привел к уведомлению о том, что он уже установлен и в самой последней версии.

Существует цепочка библиотек, каждая из которых включает в себя следующую, пока она не выйдет из строя:

/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory

Кажется, что она включает в себя 32-битные версии другой включает /usr/include/c++/4.6/x86_64-linux-gnu/32/bits/ ...

Что такое Я скучаю?

10
задан 1 January 2012 в 12:34

2 ответа

Ответ Лекенштейна вступил в противоречие с большим количеством существующих пакетов для меня (на 64-битном oneiric).

Я вместо этого сделал это, что потянуло в пакет libc6-dev-i386:

apt-get install gcc-multilib
0
ответ дан 1 January 2012 в 12:34

ia32-libs просто содержит , некоторые библиотеки совместимости еще не были перенесены в Multi Arch. Для компиляции 32-битных библиотек вам необходимо установить 32-битные библиотеки и файлы разработки для C:

sudo apt-get install libc6-dev:i386

См. Также: Функция multiarch в 11.10 означает смерть силы-- архитектура устанавливает?

0
ответ дан 1 January 2012 в 12:34

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

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