Можно ли скомпилировать 64-битный двоичный файл на 32-битной платформе Linux с помощью gcc?
Gcc: скомпилировать 64-битную двоичную информацию на 32-битной платформе
Ответ 1
Если у вас установлен multilib GCC, это так же просто, как добавить -m64
в командную строку. Компилятор должен жаловаться, если он не построен с поддержкой multilib.
Для связи вам понадобятся все 64-разрядные копии стандартных библиотек. Если ваш дистрибутив имеет multilib GCC, они также должны быть в репозиториях.
Ответ 2
Перейдите в Synaptic и найдите gcc-multilib или g++ - multilib и установите пакет, если параметр -m64
не работает. Затем скомпилируйте с опцией -m64
.
Ответ 3
Вам понадобится gcc, который будет компилироваться на 64-битных машинах, например x86_64-linux-gcc
. Проверьте менеджер пакетов распространения.
Ответ 4
Я думаю, вы могли бы сначала установить gcc-multilib
pachage.
А затем скомпилируйте свой код с помощью gcc -m64 yourcode
, вы можете проверить файл ELF с помощью file yourprogram
, вывод должен выглядеть следующим образом:
yourprogram: ELF 64-bit LSB executable,.......