使用IDE的跨平台构建系统?

时间:2011-09-30 18:26:40

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

我大约一年以来一直在寻找C ++构建系统和IDE的组合,它带来了以下功能:

  1. 跨平台构建系统,至少可在Windows,Linux和Mac OS上构建。
  2. 某种智能代码完成(Visual Studio的IntelliSense,来自Eclipse的那个东西)。
  3. 调试器集成在IDE内部(开始调试,在代码中设置断点,......)。
  4. 无需重新启动程序来构建或编辑代码。
  5. 对于我运行IDE的操作系统并不重要,唯一重要的方面是有一种方法可以在其他平台上构建(可能不需要IDE)。我最接近这些是CMake + VisualStudio的组合。问题是,每次你想调整你的构建过程(添加或删除文件),你必须重新启动VisualStudio并重新配置所有设置,CMake将不会为你设置。

4 个答案:

答案 0 :(得分:2)

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

还有一个Visual Studio插件,可以将.pro与视觉工作室项目进行转换

答案 1 :(得分:1)

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

但无论如何,这里有一些我认为最有希望达到你想要的想法:

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

  2. 您可能会对EclipseNetbeans感到满意。两者都是跨平台的IDE,允许您在多个平台上使用单个项目文件。如果您的项目处于源代码管理之下,那么您可以从主平台提交项目文件,然后在其他平台上检查项目并对设置(目录等)进行必要的更改。您只需记住始终从主平台提交对项目的更改,而在其他方面,本地更改将仅保留在您的本地源树中。

  3. 上面的选项#2很不错,但对我来说不是一个选项,因为我已经对VS调试器上瘾了,它比其他任何我都不会考虑不包含它的设置好得多。< / p> 祝你好运!

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

这是我最终做的事情:

  • 我坚持使用CMake而不是qmake,因为它看起来更强大,并且易于单独安装。另外两者都只生成Makefile,所以它们对我来说也是如此。
  • 由于CMake创建的Eclipse / VisualStudio项目文件仅用于构建,我无法使用它们(无法在IDE内部运行/调试)。现在我正在创建标准的Makefile,然后使用Eclipse mantainend Eclipse Project构建它们。
  • 我添加了一个文件系统链接到我的源目录,代码完成和调试正在运行。