我正在使用
Windows 7 – 32bit操作系统.
我想将我简单的C源代码编译成可执行的所有操作系统和架构.
我想从我的操作系统编译下面的操作系统.
> Windows 32
> Windows 64
> Linux 32
> Linux 64
> OSX 32
> OSX 64
有可能吗?
注意:我需要使用Win7 32bit编译所有操作系统的C.
解决方法
在目标操作系统上编译它更容易,而不是交叉编译它.您需要的是每个操作系统和“make”工具的工具链. CMake具有强大的交叉编译能力.不是必需的,但会节省一些钱:获取虚拟化软件(例如,VMWare Player是免费的)并运行不同的操作系统.
我会推荐clang(OSX),gcc(Linux),TDM gcc(Windows)作为工具链(MSVC也不错,但不是免费的). 32位和64位之间的区别不应该是问题.当您使用不同的编译器时,我建议通过在每个编译器上转动最大的编程标志来坚持标准.
我还建议您在每个操作系统目标和体系结构的一个客户端上安装一个连续的集成服务器.这将减轻您在一个操作系统中造成的不兼容变化的痛苦.您还可以确保软件包管理器或安装程序的安装.
只需搜索网页,进一步了解交叉编译,工具链和持续集成.