如何从 Windows 计算机在 Visual Studio 2019 上将 C++ 代码构建为 .dmg 文件而不是 .exe 文件?

问题描述

我如何将我的 c++ 代码构建到一个 dmg 文件而不是一个 exe 文件,这是它总是构建到的。我试图让我的程序可供 mac 用户使用,但我找不到答案

解决方法

首先,Mac 上的 .dmg 不是可执行文件。它实际上是一个包含可执行文件的打包工具。如果您有 GUI,那么您真正需要生成的是 .app。如果它只是一个命令行工具,那么它就是一个二进制文件,就像在 Unix 上一样。请记住,OSX 非常类似于 UNIX。

我在 Google 上搜索了“在 windows for mac 上交叉编译”。谷歌给了我一堆相反的链接,但如果你仔细阅读,你可能会发现一些有用的东西。根据您正在构建的内容,这很有趣:

https://metricpanda.com/rival-fortress-update-11-cross-compiling-for-three-platforms/

但是,如果您正在尝试编写 GUI,您几乎肯定需要链接特定于 Mac 的库,而您没有这些库。

如果您切换到 Qt 作为您的构建环境,您可能能够进行交叉编译。我没试过。

不过,如果我要这样做,我会在 Mac 上构建。无论如何,您必须进行测试,对吗?