Build 为什么没有人为脑死亡者创建一个开源构建系统?
我想建立一个共享库。GNU/Linux是开发和目标平台。C是实现语言 我无法决定如何设置构建系统,并不断浏览三个选项,每个选项都有很多不喜欢的原因:Build 为什么没有人为脑死亡者创建一个开源构建系统?,build,autotools,configure,waf,Build,Autotools,Configure,Waf,我想建立一个共享库。GNU/Linux是开发和目标平台。C是实现语言 我无法决定如何设置构建系统,并不断浏览三个选项,每个选项都有很多不喜欢的原因: 手工制作的Makefiles——我过去几乎完全是这样做的 GNU Autotools-今年早些时候,我使用Autotools构建了一个共享的C库,但是我忘记了我是如何做到的,以及我在哪里使用了数百个教程来挑选 waf-应该很简单,但不是那么容易,我今天下午就开始工作了 我不能决定选哪一个。我会选择一个,开始工作,然后遇到问题,然后决定另一个系统
- 手工制作的Makefiles——我过去几乎完全是这样做的
- GNU Autotools-今年早些时候,我使用Autotools构建了一个共享的C库,但是我忘记了我是如何做到的,以及我在哪里使用了数百个教程来挑选
- waf-应该很简单,但不是那么容易,我今天下午就开始工作了
- 非常好,文档也很好,我喜欢创建的.pro文件。另外,它是可靠的跨平台预订,如果您需要,您现在可以获得IDE等
- 这是我们在工作中使用的,也是跨平台的,人们可以习惯它,但我仍然觉得它很奇怪
- 是我在项目中使用的。奇怪,但我已经习惯了它和数不清的Intertube工作示例
- 也许吧李>
Make
实用程序的改进的跨平台替代品,其集成功能类似于autoconf/automake
和编译器缓存,如ccache
。简而言之,SCons是一种更简单、更可靠、更快的软件构建方法
:“Make project”是一个制作项目框架的bash脚本。它使用命令行提供的信息自动执行启动新项目的任务。默认情况下创建的包是所选骨架的“hello world”项目,该骨架使用要管理的自动工具
未维护或失效项目(07-2012)
:Cppmake是一个前端,它使编写C++程序的工作量和精度比手工编写MaCH文件要低。 :Spray是一个构建工具,可帮助您配置、构建和安装项目。它的用途与autotools或CMake类似,但它是按照SCons和waf的精神使用Python编程语言创建的。
我经常使用mkproject()。这是人们建议使用的简单的自动工具,但它确实加载了您的默认配置,有点像IDE项目生成器,非常合理的最小但有用的默认值。剩下的就由您通过简单的自动工具来管理了(信息配置、信息自动配置、信息自动生成是您的助手,mkproject严格遵循这一点) 您总是使用一些基本过程启动项目,编辑configure.ac编辑Makefile.am,…,mkproject在不侵入autotools层或添加新语法的情况下实现这一点。最酷的是,通过参数,它可以从零开始个性化您的autotools项目,节省时间和错误<