我正在制作我的第一个真正的C ++游戏,我希望能够在Windows,Mac和Linux上运行。我已经明白,要实现这一点,您的库需要支持这些平台(我只使用GLFW)。我的问题是:
在编译时我完全迷失了。我知道你不能使用MinGW,因为它只支持Windows。我会用什么?
就IDE而言,哪种情况最适合在这种情况下使用?我目前正在使用Visual Studio,但我听说我无法与之交叉平台。我也有Code :: Blocks,不介意切换。
跨平台编译的最佳做法是什么?我能安全地在Windows上做一切,还是应该设置Linux和Mac虚拟机?
答案 0 :(得分:1)
如果您的代码不依赖于任何系统级库,例如网络,I / O等,那么只要您坚持使用ISO C ++标准,它就应该可以跨不同平台移植。即使您确实需要访问某些依赖于操作系统的低级系统库,在Windows上也可以使用Cygwin来模拟类似Unix的系统(如Linux和OS X)的行为。然后您可以使用GCC编译代码,可以解决对系统库的任何依赖性。对于IDE,Eclipse CDT可能是一个选项,因为它可以在所有三个平台上运行。使用虚拟机或真机为所有平台构建单独的代码库是另一种选择,但是当您去测试代码时,无论如何都需要它。
答案 1 :(得分:0)
针对您的第一个C ++游戏瞄准所有这三个游戏是雄心勃勃的,主要是因为开发“工具链”在每个平台上通常都是如此不同。您可以尝试在所有三个上使用gcc编译器和Eclipse之类的东西,但更常见的是最终使用:
我见过的用于从一个代码库中解决所有这些问题的最佳解决方案是CMake工具包。通过以CMake格式描述您的代码库,它将为您自动生成(并保持最新)平台/ IDE特定的解决方案/项目/ makefile,以及一些帮助设置自动构建,构建仪表板的工具,自动化测试等。
或者,您可以保留对C ++的细粒度控制并在Java中进行编码,这在这些操作系统中更加统一(但是,当然,它有自己的问题集。)
答案 2 :(得分:0)
如何开发跨平台! (指南)
这将有所帮助。另外,GLFW怎么样?