Jam*_*ris 12 build autotools configure waf
我想建立一个共享库.GNU/Linux是开发和目标平台.C是实现语言.
我无法决定如何设置构建系统并继续围绕三个选项,每个选项都有很多不喜欢的理由:
我无法决定去哪.我会选择一个,开始工作然后遇到问题,并决定其他系统更好.我卡住了卡住了.有人可以解释一下这可能有助于我解决这个问题吗?
小智 17
这里有一些链接(以及网站的引用)和我多年来注意到的工具:
PreMake:您是一个软件项目的经理.您的用户要求您提供Visual Studio工作区文件,但您没有Visual Studio!或许您是一名Windows开发人员,正在努力使Makefile与Linux端口保持同步.这是开源项目的常见问题:将用户限制为单个构建工具 - 驱逐潜在的贡献者 - 或手动维护两组,三组或更多组构建脚本.输入Premake.
CMake:欢迎使用CMake,这是一个跨平台的开源构建系统.CMake是一系列用于构建,测试和打包软件的工具.CMake用于使用简单的平台和独立于编译器的配置文件来控制软件编译过程.CMake生成本机makefile和工作区,可以在您选择的编译器环境中使用.
buildconf:它起初只是一个小的构建准备脚本......多年来,它已经发展成为一个非常有用的实用程序,通过支持请求和跨平台编译节省了我的时间和精力.它是通常在使用GNU构建系统的项目中经常发现的相同类型的脚本 - 也称为GNU Autotools,或者单独用作Autoconf,Automake和Libtool的每个工具.这些项目经常编写一个自定义帮助程序脚本,为其项目开发人员准备构建系统,通常运行各种工具,如libtoolize,autoconf或autoreconf.此脚本通常命名为buildconf或autogen.sh,但意图相同:准备构建系统以进行编译
BSDBuild:BSDBuild(以前称为csoft-mk)是一个简单,独立且可移植的构建系统,源自传统的4.4BSD共享/ mk文件.BSDBuild允许使用BSD样式的makefile,但是没有BSD make扩展(它使用标准的Bourne脚本片段),因此构建系统可以移植到大多数操作系统并制作风味.
iCompile:iCompile零配置构建系统
OMake:(OCaml)OMake是一个专为可扩展性和可移植性而设计的构建系统.
BakeFile:Bakefile是跨平台,交叉编译的本机makefile生成器.它将构建任务的编译器独立描述作为输入,并生成本机makefile(autoconf的Makefile.in,Visual C++项目,bcc makefile等).
SCons是一个开源软件构建工具 - 即下一代构建工具.将SCons视为经典Make
实用程序的改进,跨平台替代,具有类似于autoconf/automake
和编译器缓存的集成功能,例如ccache
.简而言之,SCons是一种更简单,更可靠,更快速的软件构建方式.
制作项目:'制作项目'是一个制作项目骨架的bash脚本.它使用命令行提供的信息自动执行启动新项目的任务.默认情况下创建的包是所选骨架的"hello world"项目,该项目使用要管理的自动工具.
cppmake:与手工编写makefile相比,Cppmake是一个前端,可以更轻松,更准确地构建C++程序.
spray:Spray是一个构建工具,可帮助您配置,构建和安装项目它与autotools或CMake的目的相似,但是使用Python编程语言遵循SCons和waf的精神创建.
好吧:所有系统都很糟糕.有些人只是少吃.正如mutt邮件所述.那说,一些快速评论:
归档时间: |
|
查看次数: |
2288 次 |
最近记录: |