【问题标题】:Cross platform build system with IDE? [closed]使用 IDE 的跨平台构建系统? [关闭]
【发布时间】:2011-09-30 18:26:39
【问题描述】:

大约一年以来,我一直在寻找 C++ 构建系统和 IDE 的组合,它具有以下特性:

  1. 至少可以在 Windows、Linux 和 Mac OS 上构建的跨平台构建系统。
  2. 某种智能代码完成(Visual Studio 的 IntelliSense,来自 Eclipse 的那个东西)。
  3. 集成在 IDE 中的调试器(开始调试、在代码中设置断点……)。
  4. 无需重新启动程序即可构建或编辑代码。

IDE 在哪个操作系统上运行对我来说并不重要,唯一重要的方面是有一种方法可以在其他平台上构建(可能不需要那个 IDE)。我最接近这些的是 CMake + VisualStudio 的组合。问题在于,每次您想要调整构建过程(添加或删除文件)时,您都必须重新启动 VisualStudio 并重新配置所有设置,CMake 不会为您设置。

【问题讨论】:

    标签: c++ ide build cross-platform build-process


    【解决方案1】:

    Qt 框架使用 Qmake - 它有一个使用 qmake .pro 文件的跨平台 ide QtCreator

    还有一个 Visual Studio 插件,可以将 .pro 与 Visual Studio 项目相互转换

    【讨论】:

    • 我总是跳过看 Qmake,因为我不想构建 Qt 项目。但是从我现在阅读的内容来看,您可以使用它构建非 Qt 项目。会看看的。
    【解决方案2】:

    Codeblocks 也有一个跨平台的构建系统。

    Codeblocks 通过其 Codeblocks 项目文件自行构建。

    【讨论】:

      【解决方案3】:

      我已经调查了一个与您正在寻找的解决方案类似的解决方案,但没有找到任何令人满意的解决方案。我目前正在为我的每个平台(Visual Studio、OSX 和 iOS 的 XCode、Linux、Android 和 webOS 的 makefile)维护单独的项目文件。我发现让它们保持同步并不是很多工作,所以我不介意。

      但无论如何,这里有几个我认为最有希望实现您想要的想法的想法:

      1. 我认为您使用的 CMake 解决方案是最好的,但确实每次重新生成项目时自定义设置都会丢失。您可能希望生成包含所有设置的补丁文件,以便在运行 CMake 以更新项目后重新应用这些更改。这应该适用于存储在文本文件中的设置,因此适用于 .sln、.vcxproj、vcxproj.filters 和 vcxproj.user 文件。

      2. EclipseNetbeans 可能会给你带来一些运气。两者都是跨平台的 IDE,允许您在多个平台上使用单个项目文件。如果您的项目处于源代码控制之下,那么您可以从主平台提交项目文件,然后在其他平台上您只需签出项目并对设置(目录等)进行必要的更改。您只需要记住始终从主平台提交对项目的更改,而在其他项目上,本地更改将仅保留在您的本地源代码树中。

      上面的选项 #2 不错,但对我来说不是一个选项,因为我已经对 VS 调试器上瘾了,它比其他任何东西都要好,我不会考虑任何不包含它的设置。

      祝你好运!

      【讨论】:

        【解决方案4】:

        这是我最终做的:

        • 我坚持使用 CMake 而不是 qmake,因为它看起来更强大,并且易于单独安装。而且两者都只生成 Makefile,所以它们对我来说几乎都是一样的。
        • 由于 CMake 创建的 Eclipse/VisualStudio 项目文件仅用于构建,因此我无法使用它们(无法在 IDE 中运行/调试)。现在我正在创建标准 Makefile,然后使用手动维护 Eclipse 项目构建这些文件。
        • 我向我的源目录添加了一个文件系统链接,代码完成和调试工作正常。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-05-11
          • 1970-01-01
          • 1970-01-01
          • 2010-10-13
          • 2021-07-21
          • 2020-08-18
          • 2010-09-08
          相关资源
          最近更新 更多