gcc: скомпилировать 64-битный двоичный файл на 32-битной платформе - PullRequest
19 голосов
/ 28 сентября 2011

Можно ли скомпилировать 64-битный двоичный файл на 32-битной платформе Linux с помощью gcc?

Ответы [ 4 ]

26 голосов
/ 28 сентября 2011

Если у вас установлен мультилибовый GCC, это так же просто, как добавить -m64 в командную строку.Компилятор должен пожаловаться, если он не построен с поддержкой multilib.

Для того, чтобы связать, вам понадобятся все 64-битные аналоги стандартных библиотек.Если ваш дистрибутив имеет мультибиблиотечный GCC, они также должны быть в репозиториях.

2 голосов
/ 29 января 2013

Зайдите в Synaptic и найдите gcc-multilib или g ++ - multilib и установите пакет, если опция -m64 не работает.Затем скомпилируйте с параметром -m64.

1 голос
/ 28 сентября 2011

Вам понадобится gcc, который будет компилироваться на 64-битных машинах, например, x86_64-linux-gcc.Проверьте менеджер дистрибутива.

0 голосов
/ 21 июня 2015

Я думаю, вы могли бы сначала установить gcc-multilib pachage.А затем скомпилируйте ваш код, используя gcc -m64 yourcode, вы можете проверить файл ELF, используя file yourprogram, вывод должен быть таким: yourprogram: ELF 64-bit LSB executable,.......

...