我想用c++在两个平台上,Mac和Linux,使用GitHub和(a) IDE(s)的程序

I want to make a program in C++ on two platforms, Mac and Linux, using GitHub and (a) IDE(s)

本文关键字:Linux GitHub 使用 程序 IDE Mac c++ 平台 两个      更新时间:2023-10-16

基本上我想使用GitHub作为我的存储库,并在Mac和Linux操作系统上开发。这可能吗?例如,我可以在Mac上使用Xcode,在Linux操作系统上使用Code::Blocks吗?或者它必须是相同的IDE,如果是的话,有什么建议吗?

我建议在每台机器上使用相同的标准IDE,以防止版本冲突和编译器变化问题。

完全有可能使用两个不同的IDE,但使用一个IDE会简单得多,因为您不必担心一个IDE中的项目特定设置,而不会被另一个IDE读取。

如果你在每台机器上使用"for example" Code::Blocks,你就可以把整个项目放到存储库中,然后把它放到另一台机器上,直接进入它并开始使用它。"提供ide版本是相同的"。

为简单起见,我将使用一个

是的,有可能。注意确保:

  • 一个平台签入的跨平台代码与另一个平台兼容

  • 平台特定代码不影响其他平台

  • Xcode和Code::Blocks配置不会不同步

在分支上工作非常有帮助,只有在您希望支持的所有平台上进行测试后才合并到master。你可以使用GitHub的pull request特性来跟踪特性分支。

Xcode自带的编译器是Clang;Code::Blocks默认使用GCC。一方面,这很好,因为您可以不断地维护与多个编译器的兼容性。另一方面,它可能会产生意想不到的麻烦,因为这又是一个需要管理的平台差异。

作为这些答案的替代方案,您还可以设置并使用Cmake之类的东西来拥有一个构建系统,然后可以在您支持的每台机器或平台上编译成不同IDE的项目文件。这样,只有cmake文件(不是Xcode或Code::Blocks项目)被存储在存储库中,并且设置它只需要下载存储库并运行cmake来构建Xcode或Code::Blocks项目。

假设您的代码是跨平台的,这也将使移植到另一个IDE或操作系统没有太大的困难。

我已经在几个项目中使用了它,虽然我承认设置东西需要更多的时间,但是一旦它运行,当指定新文件、程序集和设置时,只需要更新一组文件。