当前位置:  开发笔记 > 编程语言 > 正文

用于C++项目的任何好的构建工具,可以替换make吗?

如何解决《用于C++项目的任何好的构建工具,可以替换make吗?》经验,为你挑选了6个好方法。

我想知道是否有任何漂亮而又整洁的工具来替换GNU Autotools或Make来构建一个非常大的C++项目,这是一个非常复杂的事情.

如果项目很小,生成de Autotools所需的所有文件很简单,但如果源代码分为多个目录,多个第三方库和许多依赖项,则属于"Autotools Hell".

谢谢你的任何建议



1> Nick..:

CMake?(生成makefile,因此技术上不是替代品).

我最近也看到" SCons "出现在几个地方.虽然我自己没有创造任何东西.



2> amrox..:

在谷歌的V8 JavaScript引擎是用C++编写,并使用SCons的,所以我想这是因为它一票.


我们发现SCons对于大型Visual Studio解决方案来说速度非常慢.它在UNIX-ish系统上运行良好.
我是第二个:SCons在进入更大版本时非常慢.
我想知道构建器脚本如何减慢*C++*构建速度.大部分时间都不会用于编译所有这些模板吗?

3> wilhelmtell..:

看看waf.

我认为您可以将其视为制造和自动工具的完全替代品.它基于python.我喜欢waf的一件事是waf脚本本身是你放在项目根目录中的~100kb独立版.这与make或rake和朋友形成对比,其中必须首先安装构建系统.你必须安装python> = 2.3.

~$ ./waf configure && ./waf && ./waf install

Waf等同于Makefile是wscript文件.它是一个python脚本waf读取,它定义了至少3个函数: set_options(),configure(conf)build(bld).你可以猜出他们每个人做了什么.

要快速启动,我建议查看源代码发行版中的demos/cpp/*文件.另请查看doc/waf.pdf文件; 这是一个12页的文档,可以快速启动并运行.


速度5.5KB?试试2.1*MB*!!
SCons也很慢.我已经使用它一年或更长时间了,并希望尽快转向Waf.

4> Johan Boulé..:

要比较各种C++构建工具的速度,您可以查看此基准测试:http: //retropaganda.info/~bohan/devel/wonderbuild/benchmarks/time.xml



5> Greg Whitfie..:

我们将Jam用于复杂的C++项目 - 一个好处是它很好地跨平台.而不是我掏出好处,只需快速浏览一下这个链接:http: //www.perforce.com/jam/jam.html



6> Anthony Cram..:

Noel Llopis撰写了一些比较构建系统的文章."追求完美构建系统"的第1部分位于http://gamesfromwithin.com/the-quest-for-the-perfect-build-system.第2部分在同一网站上.有关Scons的重试,请访问http://gamesfromwithin.com/?p=104.

结论:SCons太慢了...... Jam是胜利者.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有