现代公司用什么来编译和链接他们的项目?
特别是对于大型项目,makefile似乎不足以实现可扩展性。据我所知,许多公司在现有构建系统之上使用内部构建系统或内部脚本。
大型项目是否使用make? 是使用纯Ant,Maven等还是用一些脚本包装?
答案 0 :(得分:4)
这些天大量使用CMake
,它会为各种平台自动生成makefile。不幸的是CMake
有自己的(奇怪的)内部语言,这就是我个人更喜欢SCons
的原因 - 任何它不能自然地做的事情都可以轻松添加 - 毕竟它只是Python代码。看看list of OS projects using SCons。其中许多是非常庞大且非平凡的多平台构建。
答案 1 :(得分:2)
我们使用英特尔编译器和我上一家公司用python编写的自定义SCons脚本。开发是用C ++编写的。我们发布的产品是巨大的可视化软件包。
SCons :“SCons是一个开源软件构建工具 - 即下一代构建工具。将SCons视为改进的,跨平台的经典替代品使用类似于autoconf / automake和ccache等编译器缓存的集成功能来实现实用程序。简而言之,SCons是一种更简单,更可靠,更快速的构建软件的方法。“
答案 2 :(得分:2)
我在电信原始设备制造商工作了10多年的每件产品都使用过make。有些相对较小,有些则超过1M SLOC。大多数源都是c,具有大量的c ++。大多数使用第三方来源,而所有供应商都会在其产品中附带makefile。
请记住,用于构建产品的系统是软件。无论该构建软件是使用make,SCons还是其他语言/系统编写的,您必须了解您用于编写构建产品的软件所使用的语言。如果不这样做,您就有可能因错误的构建系统而在产品中引入错误。
答案 3 :(得分:1)
make
和makefile
与C ant
和java
一样自然而
答案 4 :(得分:0)
一些大型项目(例如Boost)避免支持其中一个Jams。