2013-10-01 51 views
2

我开发了一个C++/QT应用程序,我正在为Mac,Windows和Linux编译它。我选择了C++,这样我就可以与这些主流操作系统兼容。我可以编译它为Mac就好了。从Mac开发交互编译C++/QT for Windows,Linux

我发现了关于交叉编译的问题,但有些已经过时或没有很好的文档记录......或者不能保证他们能够在最新版本的Windows或Mac上工作。

我确实在我的机器上安装了虚拟Windows和Cent OS,但我觉得手动编译应用程序会过度杀死。

那么,你推荐任何可靠的交叉编译器?或者有什么办法可以自动化编译,所以如果需要的话,它可以通过登录到我的虚拟Windows或Cent OS安装进行编译?

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

回答

1

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

1

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

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

请注意,编译器附带的Visual Studio相同,但你必须通过或者使用“CL”“NMAKE”由SDK安装的命令行环境中调用它们。

可以通过发出SETENV/86 32位或SETENV/X64 64位-there是另一模式安腾选择了汇编模式,但我从来没有使用它 - 。 Visual Studio IDE不包括在内,因为它是一种付费产品,但免费的高质量编译器对任何人都是足够好的。