2

我正在开发一个系统,它将有一个 PC(Windows)组件和一个 iPad 组件。我想在 iPad 和 PC 之间共享一些 C++ 代码。有没有办法在项目之间自动同步源文件?换句话说,如果我在 PC 上工作并添加一个新的 .h/.cpp 对,我可以让 xcode 项目识别新文件并将它们添加到 xcode 项目中吗?让 Visual Studio 识别 PC 端的新文件也是如此。

如果这不可能,那么在 Mac 和 PC 上为这个共享库使用 Eclipse 是否有意义?我应该考虑在 Apple 和 Windows 开发环境中维护项目的其他选择吗?

4

1 回答 1

5

首先,您需要一个针对所有目标平台的通用构建配置。当然,这意味着您不能使用与您的 IDE(Visual Studio、XCode 等)绑定的构建配置。您需要一个跨平台的构建系统。IMO 的最佳候选者是CMake. 在该系统中,CMakeLists.txt 文件是您项目的主要配置文件。任何新的源文件/头文件都必须添加到该配置文件(或其中之一)。它可能比使用 in-IDE 工具添加头/源对方便一点,但优点是您只需将源文件添加到构建配置 (CMakeLists.txt) 一次,它将适用到您正在使用的所有操作系统和 IDE。CMake 可用于为大多数 IDE 生成项目文件,以便它们可以轻松使用,并且一些更好的 IDE 还直接支持 CMake 构建配置(这使得它更加方便)。就个人而言,我不

其次,您需要一种在两个系统之间同步文件的方法,我认为这两个系统在物理上是分开的(即,不在虚拟盒子或其他任何地方)。有像 rsync 这样的简单程序和其他更多的 GUI 程序来同步文件夹及其所有底层文件。但是,对于源代码,使用版本控制系统要方便得多。个人推荐Git,尤其是对于个人项目。版本控制系统有很多功能,但最基本的是它为您提供了一种简单的方法来保持源文件夹同步并跟踪对代码所做的更改(例如,允许回溯,如果最新改动中突然出现bug)。即使您一个人工作,使用这样的系统仍然是完全值得的(即使您并不真正需要它,它也可以让您体验使用它)。Git 是一个去中心化的系统,这意味着您不需要中央服务器来进行版本控制,它对存储库的每个副本都是本地的。这使您可以拥有(就像我对一些简单项目所做的那样),一组完全本地的存储库,例如,我有两台我使用的计算机,每台计算机上都有一个存储库的副本,加上外部硬盘驱动器上的存储库副本,因此所有同步都在计算机和外部驱动器之间本地完成(加上不断更新的所有内容的三重备份)。您还可以使用中央服务器,例如github,更方便。

于 2012-11-26T17:32:38.990 回答