跨平台的svn管理(Makefiles& Visual Studio)

时间:2010-07-15 13:40:09

标签: c++ linux svn visual-studio-2005 makefile

我正在开发一款名为freegemas的小游戏,它是用C ++编写的经典宝石迷阵的开源版本,并使用gosu作为图形API。我一如既往地在Ubuntu Linux下开发它,但是前几天我想尝试一下,我在Windows上使用Visual Studio 2005(我以前从未使用过)编译它。该计划完美无缺。

要在Windows上编译它我手动将所有源文件和头文件复制到MSVC上的新项目,但我想调整SVN,所以每次我想编译它时都不必重新创建项目。

因此,问题是:组织svn的最佳方法是什么,一方面,我可以拥有一个Makefile来在Linux中编译项目,另一方面,MSVC项目的文件?现在我有一个名为trunk的简单文件夹,上面包含所有标题,源文件和资源文件。

我之前从未使用过Visual Studio,因此我不知道哪些文件最重要。也许其中一些文件是自动生成的,不需要进行svn版本化。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以将项目文件保存在单独的目录“winbuild”或类似名称中。仍然,维护它们需要手动交互(即手动添加每个新文件)。您需要上传到svn的唯一文件是* .vcproj(适用于MSVC 2005/2008)和* .vcxproj(MSVC 2010)。

或者,您可以选择像CMake这样的跨平台解决方案,它可以从常见的CMakeLists.txt生成makefile和Visual Studio项目文件,这是唯一需要维护的“项目文件”(而不是你的makefile)。特别是像你这样的简单(?)项目(一些标题+来源)。根本不需要包含任何makefile或vcproj文件,只需要CMakelists.txt文件即可。

还有其他像CMake(SCons,boost.jam,jam,premake等)

它应该是可行的,但需要一些测试和反复试验。