使用多个平台/ IDE项目维护组织的好方法是什么?

时间:2012-07-15 01:03:31

标签: ide cross-platform organization

我正在开发一些适用于Windows和Mac的游戏,并且正在使用Visual Studio 2010和Xcode 4.3。

对于使用多个IDE的开发人员,您的组织在主项目文件,资源文件(声音,纹理,设置)和平台特定文件方面的外观如何。

谢谢!

1 个答案:

答案 0 :(得分:0)

大多数开发人员使用相同的IDE和版本(例如VS2010),但对于其他人和那些使用不同工具的人来说,他们有责任维护自己的项目文件(嗯,VS2008和VS2010可以共享* .csproj文件,但它们有不同* .sln文件,所以这不是一个大问题。)

项目以通常的方式布局:根目录中的解决方案文件(根据IDE命名,例如“Foobar-VS2008.sln”和“Foobar-VS2010.sln”)然后每个项目都存在于根目录下在每个项目的根目录中是IDE之间共享的* .csproj文件。

然而,我参与了更复杂的项目,特别是大型和流行的开源项目,人们喜欢在vim和VC中破解C语言。在这些情况下,项目和解决方案文件实际上存在于根目录下的自己的目录中,和以前一样,每个IDE的开发人员都负责维护他们的项目文件。结构如下所示:

PopularProject        (Empty)
PopularProject\src    (Root for all the *.c and *.h goodness)
PopularProject\bin    (Where the myriad build systems dump their output in a suitable subdirectory (e.g. \bin\VC9\IA-64 or \bin\gcc\x86)
PopularProject\prj\VC9 (Where VC9 project and SLN files go)
PopularProject\prj\gcc (Where GCC makefiles and other files go)
PopularProject\prj\Eclipse (Ditto, but for Eclipse)

它使项目保持井井有条,但它只适用于大型项目。对于小的,它是过度的,通常只有一个项目和* .sln文件更容易,如果有人想添加他们自己然后他们可以做到这一点,但只能在他们自己的机器上(即不要让少数民族添加他们自己的文件,不是为了歧视,而是为了让事情变得简单易行。

对于使用特定于平台的代码的项目,在源代码中定义了#if WIN32或#if LINUX预处理器的自由应用程序。

所有第三方或导入的库往往都在项目根目录下的“lib”或“ref”子目录中。

我没有直接参与游戏,但资产存储在文件系统的另一个树的根目录下。开发人员不希望在本地计算机和源代码控制之间进行差异时包含它们(二进制文件也是差异的一种婊子)。毕竟,他们是(应该是)不同团队的艺术家的责任。