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

发布于 2024-09-10 08:35:35 字数 633 浏览 3 评论 0原文

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

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

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

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

提前致谢。

I'm working on a little game called freegemas, it's an open source version of the classic Bejeweled written in C++ and using gosu as the graphic API. I've been developing it under Ubuntu Linux as usual, but the other day I wanted to give it a try and I compiled it on Windows using Visual Studio 2005 (which I had never used before). The program worked flawlessly.

To compile it on Windows I manually copied all the source and header files to a new project on MSVC, but I would like to adapt the SVN so I don't have to recreate the project every time I want to compile it.

Therefore, the question would be: What's the best way of organizing the svn so I can have, on the one hand, a Makefile to compile the project in Linux, and, on the other side, the MSVC project's files? Right now I've got a simple folder called trunk with all header, source and resource files on it.

I've never used Visual Studio before, so I don't know which files are the most important either. Maybe some of those files are auto-generated and do not need to be svn-versioned.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

作死小能手 2024-09-17 08:35:35

您可以将项目文件保存在单独的目录“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 等)的工具,

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

You could just keep the project files in a seperate directory "winbuild" or similar. Still, to maintain them would require manual interaction (ie adding every new file manually). The only files you would need to upload to svn are the *.vcproj (for MSVC 2005/2008) and *.vcxproj (MSVC 2010).

Alternatively, you could opt for a cross-platform solution like CMake, which could generate makefiles and Visual Studio project files from a common CMakeLists.txt, which is the only "project file" that would have to be maintained (instead of your makefile). Especially for a simple (?) project like yours (some headers+sources). There would be no need to include any makefiles or vcproj files at all, just the CMakelists.txt file would suffice.

There are others like CMake (SCons, boost.jam, jam, premake, etc.)

It should be feasable, but requires some testing and trial-and-error.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文