我想创建一个跨平台的2D游戏引擎,我想 知道如何使用Makefile创建跨平台项目,因此我可以将其编译到我选择的平台,使用任何平台的自定义规则。 我正在使用Visual C ++ Express 2008开发Windows环境,所以它会很好 如果我可以使用Visual C ++ Express作为IDE。
我的平台是Nintendo DS和PC。
请指导我做什么。
提前致谢Tamir。
答案 0 :(得分:6)
不要使用make,使用像cmake这样的跨平台工具,它将为您处理特定于平台的生成。就像在Windows上一样,它会生成项目文件以使用Visual Studio;在Linux上,它将为您生成GNU make文件。您可以将其设置为找到正确的库和所有内容的正确版本。 Cmake很棒。
CMake不是编译器(也不是make) - 它是一个跨平台的构建自动化系统。它允许您在任何平台上进行开发,它默认假设您正在为正在运行的平台进行开发。如果要执行其他操作,可以指定参数。但是,大多数“跨平台”的东西仍留在您的代码中。我还建议在许多平台上测试过的库,例如Boost。使用Boost可以帮助保持所有代码在任何系统上顺利运行,并且基本上没有使用它的开销。
答案 1 :(得分:1)
我知道你可以使用Makefile来做#defines,这反过来又是换掉代码块的常用技巧。还有一些方法可以检测平台,尽管这主要是针对Mac / Windows / Linux的差异。
另外,特拉维斯可能是对的;让你的makefile本身是跨平台的非常好,因为它更容易设置构建服务器和东西。