【问题标题】:Cross-platform svn management (Makefiles & Visual Studio)跨平台 svn 管理 (Makefiles & Visual Studio)
【发布时间】:2011-03-16 10:10:07
【问题描述】:

我正在开发一款名为 freegemas 的小游戏,它是经典 Bejeweled 的开源版本,用 C++ 编写并使用 gosu 作为图形 API。我像往常一样在 Ubuntu Linux 下开发它,但前几天我想试一试,我使用 Visual Studio 2005(我以前从未使用过)在 Windows 上编译它。该程序完美运行。

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

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

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

提前致谢。

【问题讨论】:

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


    【解决方案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 等)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多