是否可以获取 Visual Studio 2017 将 c++ 代码编译成 exe 以外的文件类型?

Is it possible to get Visual Studio 2017 to compile c++ code into a file type other than exe?

最近我一直致力于使用 Visual C++ 2017 和 SDL2 创建游戏。我想让所有不同类型系统上的用户都能访问我的游戏,而不仅仅是 Windows。我尝试从让我的游戏也可以在 Mac OS 上使用开始,但我想不出任何方法来做到这一点。我认为最好的方法是让 Visual Studio 将我的代码编译成类似“.APP”而不是“.EXE”的文件类型,因为我没有任何形式的 Mac 或 Apple 计算机可以使用为 Mac 创建应用程序的软件。但是,我无法弄清楚如何更改 Visual Studio 中的选项以将代码编译成不同的文件类型,或者即使这样做是可能的。

我在整个互联网上搜索了将“.EXE”转换为其他文件类型的方法,使用不同的 C++ 编译器编译成 Mac 兼容文件等,但我还没有找到能够找到不需要虚拟机或物理 Mac 计算机(我都没有尝试过,因为这需要很多努力,我想要一个更简单的解决方案)的工作。

如果有人能告诉我如何更改 Visual Studio 将您的代码编译成的文件类型,或者他们是否可以建议可以在 Windows 上运行的不同编译器,它与 SDL2 兼容,并且可以将 C++ 代码编译成可在 Mac 计算机上运行的文件类型,如“.APP”,这将解决我的问题。提前致谢!

您需要在您想要支持的所有不同平台上编译您的代码。使用每个平台都支持的编译器。 在一个平台上编译的代码可以 不能 运行 在另一个平台上(交叉编译除外,见下文,但这很痛苦)。

交叉编译 一些平台上的一个选项,一些 编译器,但如果您可以 any 方式设置本地工具链,通常是痛苦多于收获。交叉编译器为与您当前 运行ning 不同的平台生成代码,但要使其正常工作可能很困难。然后你也没有办法在目标平台上测试你的代码(除非你有一个,在这种情况下,本机编译首先会更容易)。

您应该在持续集成系统 (CI) 中使用不同的编译器在不同的系统上自动构建代码。因此,您始终知道在推送提交后,它在哪些平台上失败以及原因。

最简单的方法(恕我直言):买便宜的 Mac。买一台便宜的 PC 并在上面安装 Linux。设置一个 CI 系统来构建您提交到所有系统(Windows、Mac、Linux)上的代码存储库的所有代码,并在构建时让它对您尖叫失败。还使用该系统为每个平台构建可安装包,并在失败时再次尖叫。

对所有单元测试执行相同的操作。

这是唯一支持多平台的严肃方式。