如何在Windows中将CodeBlocks MingW编译到Ubuntu或Centos

How to compile CodeBlocks MingW in Windows to Ubuntu or Centos

本文关键字:编译 Ubuntu Centos MingW CodeBlocks Windows 中将      更新时间:2023-10-16

有没有一种方法可以在Windows中用MingWCodeBlocks编译,这样它们就可以在Ubuntu或Centos发行版中使用?

我尝试过使用GNU GCC选项进行编译,然后在obj/Release/文件夹下获得了扩展名为.o的输出文件。

当我运行时,我在我的Vagrant Ubuntu机器下得到了这个错误:

-bash: ./main.o: cannot execute binary file

我如何编译它,使它在我的Linux机器上运行?

您试图实现的目标的技术术语是cross-compilation。为此,您需要使用GCC源代码构建一个特定的交叉编译器。如果你仍然想保留MinGW,有一个页面解释了创建ARM交叉编译器所需的步骤:http://www.mingw.org/wiki/HostedCrossCompilerHOWTO.(你必须修改目标)

GCC支持的目标列表:

armv5te安卓gcc armv5te-linux-rvctarmv5ate-linux-gccarmv5te无rvctarmv6达尔文gcc armv6 linux rvct armv6 linux gccarmv6无rvctarmv7安卓gcc armv7达尔文gcc armv4 linux rvctarmv7 linux gcc armv7 none rvctmips32 linux gccppc32-darwin8-gcc ppc32-darwin9-gcc ppc3 2-linux gccppc64-darwin8-gcc ppc64-darwin9-gcc ppc64-linux gccsparc solaris gccx86安卓gcc x86-darwin8-gcc x86-darwin8-iccx86-darwin9-gcc x86-darwin 9-icc x86-darwin10-gccx86-darwin11-gcc x86-darwin 12-gcc x86 linux gccx86 linux icc x86-os2-gcc x86 solaris gccx86-win32-gcc x86-win32vs7 x86-win32/vs8x86-win32-vs9x8_64-darwin9-gcc x8_64-darwin10-gcc x86_64-darwin11-gccx86_64-darwin12-gcc x86_64-linux-gcc x8_64-linux-imccx86_64-solaris-gcc x86_64-win64-gcc x86_64-win64-vs8x86_64-win64-vs9universal-darwin8-gcc universal-darwin 9-gcc universal darwin10-gcc通用darwin11-gcc通用darwin12-gcc通用gnu

只有一个重要的警告:由于Windows不符合POSIX,我认为您不能使用signalspthreads

最后,振作起来,因为构建cx编译器是一项乏味的任务(有很多晦涩的bug)。这就是为什么专业开发人员为"即插即用"解决方案支付$$美元的原因。

编辑:这个MXE项目可能对您有用