从Mac到WIndows,Linux交叉编译C ++ / QT

时间:2013-10-01 14:33:40

标签: c++ linux qt cross-compiling

我开发了一个C ++ / QT应用程序,我正在尝试为Mac,Windows和Linux编译它。我之所以选择C ++,是因为我可以使它与这些主要的操作系统兼容。我可以为Mac编译它。

我发现了Cross Compiling,但有些已经过时或没有很好的文档记录......或者不保证它们可以在最新版本的Windows或Mac上运行。

我的机器上安装了虚拟Windows和Cent操作系统,但我觉得手动编译应用程序会过度杀死。

那么,您推荐任何可靠的交叉编译器吗?或者有没有办法自动编译,所以如果必须,可以通过登录我的虚拟Windows或Cent OS安装进行编译?

仅供参考...不仅可以交叉编译,还可以生成32位和64位版本!

2 个答案:

答案 0 :(得分:1)

对于Mac和Linux,如果在操作系统中安装了g ++编译器,那么这里没有大问题。但是您需要在Windows安装中安装Mingwcygwin来为您的程序提供gcc和g ++编译器,如果您想自动编译过程,可以使用Makefile或尝试查看autotools

答案 1 :(得分:1)

我所知道的唯一交叉编译器是GCC。我实际上已经在Linux上使用它来反复编译S / 390,并且还在Power Mac上交叉编译ARM代码(我使用the instructions here进行设置)。

那就是说,我认为你想要的是在运行Windows的32位虚拟机上交叉编译Windows x64。如果是这样的话你很幸运,因为微软实际上从Windows 2000 SDK开始就免费提供了使用Windows SDK的交叉编译器。我实际上在运行XP的Virtual PC上使用Windows Vista SDK(版本6.1)来编译Windows x64。 Here您可以下载编译器附带的最新版本的SDK。我查看了系统要求,它仍然支持XP,所以这应该对你有好处。

请注意,编译器与Visual Studio一样,但您必须使用'cl'从SDK安装的命令行环境调用它们。 'NMAKE'

您可以通过为32位发出 SETENV / x86 或为64位发出 SETENV / x64 来选择编译模式 - Itanium的另一种模式但我从未使用过它-。 Visual Studio IDE不包含在内,因为它是付费产品,但免费的高质量编译器对任何人都足够好。