Можно ли настроить кросс-компилятор gcc в Linux для компиляции 64-битных целей на 32-битной архитектуре?

Я знаю, что вы можете скомпилировать 32-битную цель на 64-битном Linux с помощью флага-m32, но также можно скомпилировать до 64 бит на 32-битной машине с помощью флага-m64?

или, альтернативно, вам нужно настроить перекрестную цепочку инструментов gcc, которая поддерживает 64-битные цели, и это возможно на 32-битной машине?

с уважением, Йохан!--1-->

4 ответов


Как сказал Маркр, будет намного проще запустить 64-битную виртуальную машину и построить оттуда. В противном случае, да, вам нужно будет построить цепочку инструментов GCC cross.

хорошие ресурсы для создания GCC cross toolchain:


да, это возможно и на самом деле довольно просто. Просто install gcc-multilib.


Да, это должно быть возможно. Это, безусловно, возможно на Mac OS X, где GCC toolchain от Apple поддерживает x86, x86-64, ppc и ppc64, и вы можете скомпилировать для всех 4 целей с машины разработки, которая 32 бит или 64 бит.


вам нужно будет настроить кросс-компилятор. И не беспокойтесь. Просто запустите 64-разрядную виртуальную машину. Вы можете запускать 64-разрядные VMs на 32-разрядной хост-ОС при условии, что процессор поддерживает его (что он будет, если он не древний).