How to compile the software for all platforms from Ubuntu Linux 64 bit

compilercross platformreleaserelease-management

I write a lot of open source software that I make available on my website. How do I get my software compiled for all relevant platforms including:

  • Windows
  • OS X
  • Linux 32 bit deb
  • Linux 64 bit deb
  • Linux 32 bit rpm
  • Linux 64 bit rpm
  • etc

I currently only have Linux 64 bit boxes, so I can only compile the 64 bit deb and rpm myself. I'm relying on users contributing other versions. That isn't ideal because the versions are not all available right after a new release. Indeed the Windows binary is several versions behind at this point.

Edit: My software is QQWing. It is written in C++. I would love to have a build system that can generate binaries for all platforms, or have a place to run builds for multiple systems.

Best Answer

Any professional organisation would have not just build machines but test environments for all those platforms they support.

And that's why most professional organisations won't support such a plethora of platforms, it's just too expensive for the small return that each of them yields except the few big ones like for example Windows, Mac, and RedHat based Linux.

So you'll have to get the hardware to run all those operating systems, the compilers and other tooling for all of them as well. Or maybe you can get away with running all those OSs in virtual machines, if your hardware is up to the task.

Related Topic