'How to cross compile linux arm to x86

I'm using an m1 pro macbook pro. Up until now, I used intel macbook.

My program is written in c/c++ and the target is ubuntu x86_64.

I tried running ubuntu x86 docker (qemu) and it's super slow - to the point it's unusable. I have linux ubuntu (arm) installed using parallels and would like to compile for x86 target instead of arm.

How do I do it?



Solution 1:[1]

On Ubuntu, I would suggest an apt install gcc-x86-64-linux-gnu g++-x86-64-linux-gnu, and then invoking the installed compiler with the x86-64-linux-gnu prefix (for gcc, x86-64-linux-gnu-gcc) to create x86_64 binaries.

Do note that if you target x86_64 you won't be able to run the programs you build natively, but you should be able to package the binaries created for execution on an x86_64 machine.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 beeselmane