从Mac电脑为Windows、Linux进行C++/QT交叉编译

4
我开发了一个C++/QT应用程序,正在尝试为Mac、Windows和Linux编译它。我选择使用C++只是为了使其与这些主要操作系统兼容。我可以很好地为Mac编译它。
我了解到交叉编译,但有些过时或文档不完善......或不能保证它们可以在最新版本的Windows或Mac上正常工作。
我确实在我的机器上安装了虚拟Windows和Cent OS,但我觉得手动编译应用程序会过于麻烦。
所以,您推荐可靠的交叉编译器吗?或者是否有任何自动化编译的方法,以便如果需要,可以通过登录到我的虚拟Windows或Cent OS安装来编译?
顺便说一下......不仅要进行交叉编译,还要生成32位和64位版本!
2个回答

1

如果你的Mac和Linux操作系统中已经安装了g++编译器,那么你不需要太担心。但是在Windows系统中,你需要安装Mingw或者cygwin来提供gcc和g++编译器,并且如果你想自动化编译过程,可以使用Makefile或尝试使用autotools


1
我所知道的唯一交叉编译器是GCC。我曾经在Linux上使用它进行S/390的交叉编译,也用它在Power Mac上交叉编译ARM代码(我使用这里的说明进行设置)。
话虽如此,我认为你想要在运行Windows的32位虚拟机上进行Windows x64的交叉编译。如果是这样,你很幸运,因为自从Windows 2000 SDK以来,微软就免费提供了交叉编译器。我实际上使用运行XP的Virtual PC上的Windows Vista SDK(版本6.1)来进行Windows x64的编译。在这里你可以下载带有编译器的最新版本SDK。我查看了系统要求,它仍然支持XP,所以这对你应该很好。
请注意,编译器与Visual Studio中的相同,但你必须通过使用SDK安装的命令行环境来调用它们,使用'cl''nmake'
你可以通过输入SETENV /x86选择32位编译模式或SETENV /x64选择64位编译模式。还有一个Itanium模式,但我从未使用过。Visual Studio IDE不包含在内,因为它是一款付费产品,但免费的高质量编译器已经足够好了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接