跨平台构建系统与IDE

Cross platform build system with IDE?

本文关键字:IDE 系统 构建 跨平台      更新时间:2023-10-16

一年来我一直在寻找c++构建系统和IDE的组合,它带来了以下特性:

  1. 跨平台构建系统,至少在Windows, Linux和Mac OS上构建。
  2. 某种智能代码补全(Visual Studio的智能感知,来自eclipse的东西)。
  3. 集成在IDE中的调试器(启动调试,在代码中设置断点,…)。
  4. 无需重新启动程序来构建或编辑代码。

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

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

还有一个visual studio插件,可以将。pro与visual studio项目进行转换

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

Codeblocks通过它的Codeblocks项目文件构建自己。

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

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

  1. 我认为你正在使用的CMake解决方案是最好的,但这是真的,每次你重新生成你的项目自定义设置丢失。你可能想要生成一个包含所有设置的补丁文件,这样你可以在运行CMake后重新应用这些更改来更新你的项目。这应该适用于存储在文本文件中的设置,因此它适用于.sln, .vcxproj, vcxproj。过滤器和vcxproj。用户文件。

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

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

祝你好运!

我最后是这样做的:

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