4

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

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

我确实在我的机器上安装了 Virtual Windows 和 Cent OS,但我觉得手动编译应用程序太过分了。

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

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

4

2 回答 2

1

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

于 2013-10-01T14:49:47.037 回答
1

我知道的唯一交叉编译器是 GCC。不久前,我实际上已经在 Linux 上使用它为 S/390 进行交叉编译,并在 Power Mac 上交叉编译 ARM 代码(我使用此处的说明进行设置)。

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

请注意,编译器与 Visual Studio 附带的编译器相同,但您必须从 SDK 安装的命令行环境中调用它们,方法是使用'cl''nmake'

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

于 2013-10-01T15:16:29.073 回答