用C ++和&amp ;;构建管理Linux上的好IDE

时间:2009-11-15 20:54:01

标签: c++ ide build-process

我开始用C ++编写一个中等大小的项目,需要相当大量的文件和对其他项目的依赖。

您认为手动维护此项目的Makefile是最好的方法吗?

是否还有其他更好的C ++替代品,使文件的构建管理和依赖管理真的很容易处理?

另外,什么IDE对Linux上的C ++开发有好处?我对Vim很满意,但你认为有很好的C ++ IDE(比如Eclipse for Java)可以提供代码完成等吗?

谢谢! 阿贾伊

8 个答案:

答案 0 :(得分:5)

其他人已经建议使用CMake。在我看来,您应该使用CMake管理您的项目,然后决定您最喜欢的IDE。

CMake允许您描述要构建的项目,而不是如何构建它。例如:我想创建一个名为foo的共享库,其源文件为a.cpp,b.cpp和c.h,它需要这些链接依赖项。然后在unix上你得到libfoo.so,在windows上你得到foo.dll和foo.lib。所有常见项目设置都可以在构建树中抽象到更高级别,这使大多数文件非常简单。更复杂的要求可以重构为宏。

一旦你的项目被描述为这样,CMake将生成makefile和/或IDE项目。这意味着每个开发人员都可以选择自己的IDE,并允许您在适当的情况下强制使用IDE。

我的公司使用CMake在我们的Windows和solaris产品中构建c ++。它包含600个项目和150万行源代码。我们最初在移植到solaris时选择它作为跨平台构建实用程序,但对于像我们这样的大型项目,使用CMake管理构建要比使用Visual Studio项目文件容易得多。我建议将它作为任何大小的任何c ++项目的构建实用程序

我们在solaris上使用eclipse cdt并且非常满意。我们的大多数开发都是在Windows上使用visual studio。 cmake也可以很好地与其他我在家里使用它与Linux上的KDeveloper4一起使用。

答案 1 :(得分:4)

KDevelop4(来自颠覆或来自他们网站的rc1)+ CMake让生活变得如此简单,自动化应该就此消亡。 如果你想要一个跨平台的解决方案,netbeans + c ++插件相当不错,不如kdevelop4好。

答案 2 :(得分:2)

我建议您使用Code :: Blocks。我在Debian上使用它并且优雅地工作。

http://www.codeblocks.org/

编辑:添加了另一个链接 http://wiki.codeblocks.org/index.php?title=The_build_process_of_Code::Blocks

答案 3 :(得分:2)

我喜欢整个建筑过程中的CMake(但我几乎没有使用scons或Jam的经验)。

我使用vim或qtcreator。 Qtcreator仍在开发中,但我认为非常有希望。

答案 4 :(得分:1)

Eclipse也可以通过eclipse CDT完成C ++ - 不像Java那样全面但非常好。

答案 5 :(得分:1)

在较大的项目中手动维护Makefile变得非常痛苦。如果你开始使用automake / autoconf,你将 - 经过一段时间的学习所有方面 - 欣赏这些工具可以提供的强大功能。

因为IDE只使用Emacs。它快速,功能强大,支持代码完成等。

答案 6 :(得分:0)

还有Code :: Blocks作为具有自己的构建系统的IDE。但是,如果您希望能够“无论何时”在任何地方构建软件而不安装花哨的schmancy IDE,我会鼓励您尝试其他构建工具(CMake,Boost.Build,SCons)。 ; - )

答案 7 :(得分:0)

我发现Emacs + Scons对我来说效果很好。