基本上我想使用 GitHub 作为我的存储库并在 Mac 和 Linux 操作系统上进行开发。这甚至可能吗?例如,我可以在我的 Mac 上使用 Xcode,在我的 Linux 操作系统上使用 Code::Blocks 吗?或者它必须是同一个IDE,如果有的话有什么建议吗?
3 回答
我建议在每台机器上使用相同的标准 IDE,以防止版本冲突和编译器变异问题。
完全可以使用两个不同的 IDE,但使用一个会更简单,因为您不必担心一个 ide 中的项目特定设置,而不会被另一个 ide 读取。
如果您为每台机器使用“例如”Code::Blocks,您可以将整个项目放到存储库中,然后在另一台机器上 git,然后直接进入并开始使用它。“提供 ide 版本相同”。
为简单起见,我会使用一个。
是的,这是可能的。注意确保:
为一个平台签入的跨平台代码与另一个平台兼容
特定于平台的代码不会影响其他平台
Xcode 和 Code::Blocks 配置不会不同步
master
它对在一个分支上工作有极大的帮助,并且只有在你在你希望支持的所有平台上进行了测试后才合并。您可以使用 GitHub 的拉取请求功能来跟踪功能分支。
Xcode 附带的编译器是 Clang;Code::Blocks 默认使用 GCC。一方面,这很好,因为您不断地保持与多个编译器的兼容性。另一方面,它可能会产生意想不到的麻烦,因为它是另一个需要管理的平台差异。
作为这些答案的替代方案,您还可以设置和使用诸如Cmake 之类的东西来拥有一个构建系统,然后可以在您支持的每台机器或平台上将其编译为不同的 IDE 项目文件。这样,只有 cmake 文件(不是 Xcode 或 Code::Blocks 项目)存储在存储库中,设置它只需要下载存储库并运行 Cmake 以从中构建 Xcode 或 Code::Blocks 项目。
假设您的代码足够跨平台,这也将使移植到另一个 IDE 或操作系统没有太大困难。
我已经将它用于多个项目,虽然我承认设置东西需要更多时间,但一旦它运行,当指定新文件、程序集和设置时,只需要更新一组文件。