Можно ли скомпилировать 64-битный исполняемый файл в 32-битной системе под Ubuntu? - PullRequest
0 голосов
/ 09 февраля 2011

И, если это возможно, не могли бы вы указать мне пример этого? Спасибо!

Ответы [ 2 ]

2 голосов
/ 10 февраля 2011

То, что вы ищете, это кросс-компиляция.http://en.wikipedia.org/wiki/Cross_compiler#GCC_and_cross_compilation

Как сказал Томас, вам нужны установленные библиотеки целевой машины, и, если вы используете gcc, вам нужно будет использовать опцию "-b machine" и, возможно, несколько других опций (manGCC, и тратить много времени на чтение!).

Это может быть настоящей болью, чтобы получить права, поэтому я бы спросил, действительно ли это необходимо?

0 голосов
/ 09 февраля 2011

Нет, это невозможно, потому что вам нужны определенные библиотеки x86_64, которые нельзя использовать в 32-битной системе.

Верьте или нет, вы можете создать 32-битные двоичные файлы в 64-битной системе.

Вы должны проверить это https://wiki.archlinux.org/index.php/Arch64_FAQ#Can_I_build_32-bit_packages_for_i686_inside_Arch64.3F и http://www.linuxquestions.org/questions/linux-hardware-18/compiling-64-bit-kernel-in-32-bit-linux-240183/

Не относится к Ubuntu, но похоже.

...